标题:matlab 脚本转化成vb
只看楼主
yang9988
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2015-6-23
结帖率:25%
 问题点数:0 回复次数:13 
matlab 脚本转化成vb
function [n,x]=sor22(A,b,X,nm,w,ww)
%用超松弛迭代法求解方程组Ax=b
%输入:A为方程组的系数矩阵,b为方程组右端的列向量,X为迭代初值构成的列向量,nm为最大迭代次数,w为误差精度,ww为松弛因子
%输出:x为求得的方程组的解构成的列向量,n为迭代次数
n=1;
m=length(A);
D=diag(diag(A));        %令A=D-L-U,计算矩阵D
L=tril(-A)+D;           %令A=D-L-U,计算矩阵L
U=triu(-A)+D;          %令A=D-L-U,计算矩阵U
M=inv(D-ww*L)*((1-ww)*D+ww*U);    %计算迭代矩阵
g=ww*inv(D-ww*L)*b;                %计算迭代格式中的常数项
%下面是迭代过程
while n<=nm
    x=M*X+g;         %用迭代格式进行迭代
    if norm(x-X,'inf')<w
      disp('迭代次数为');n
      disp('方程组的解为');x
      return;
      %上面:达到精度要求就结束程序,输出迭代次数和方程组的解
    end
    X=x;n=n+1;
end
%下面:如果达到最大迭代次数仍不收敛,输出警告语句及迭代的最终结果(并不是方程组的解)
disp('在最大迭代次数内不收敛!');
disp('最大迭代次数后的结果为');x
上面是完整的超松弛迭代法
 
 
example:
a=[5 2 1;-1 4 2;2 -3 10];
b=[-12; 20; 3;];易错,勿遗漏中间分号,否组矩阵维数错误
c=1000;
d=5e-6;
f=1.03;
k=[0 ;0; 0;];
g=sor22(a,b,k,c,d,f)
搜索更多相关主题的帖子: function matlab 方程组 
2015-07-01 16:12
lianyicq
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:26
帖 子:735
专家分:3478
注 册:2013-1-26
得分:0 
用VB求逆矩阵就够你研究了

大开眼界
2015-07-01 16:17
yang9988
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2015-6-23
得分:0 
回复 2楼 lianyicq
求思路 一天了。。
2015-07-01 16:21
lianyicq
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:26
帖 子:735
专家分:3478
注 册:2013-1-26
得分:0 
回复 3楼 yang9988
VB6流程和MATLAB一样,但自己要定义一些函数.
矩阵直观的就用2维数组。
对应于你的代码应该有矩阵的加减乘、length、diag、tril、inv、norm。其中inv不太容易做,自己在网上看能不能找到,其它函数都容易实现。

大开眼界
2015-07-01 16:37
yang9988
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2015-6-23
得分:0 
回复 4楼 lianyicq
太难了 有没有做好的
2015-07-01 16:51
lianyicq
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:26
帖 子:735
专家分:3478
注 册:2013-1-26
得分:0 
自己找吧,网上不少。你自己只是作一个拼凑的工作而已。

大开眼界
2015-07-01 16:56
yang9988
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2015-6-23
得分:0 
回复 6楼 lianyicq
我学的不是vb我学的vs,,基本语法都不会0 0
2015-07-01 16:59
lianyicq
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:26
帖 子:735
专家分:3478
注 册:2013-1-26
得分:0 
如果你用c写出来了,有时间帮你把关键部分转成VB6

大开眼界
2015-07-01 17:06
yang9988
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2015-6-23
得分:0 
回复 8楼 lianyicq
明天他们就要用的,,,大神 帮帮忙
2015-07-01 17:09
lianyicq
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:26
帖 子:735
专家分:3478
注 册:2013-1-26
得分:0 
想要达到目的,总得有付出吧。BCCN上倡导交流,互帮互助。不了解没关系,不熟悉也没关系,但总得付出时间吧。
要这样,不知谁能帮上忙。

大开眼界
2015-07-01 17:21



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-454942-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.714648 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved