有没有哪位高手能帮我看一下这个MATLAB程序哪里错误了啊?运行不了,提示有错误!
来源:学生作业帮 编辑:百度作业网作业帮 分类:综合作业 时间:2024/04/29 23:15:10
有没有哪位高手能帮我看一下这个MATLAB程序哪里错误了啊?运行不了,提示有错误!
function[Y]=ybusl(zdata)
nl=zdata(:,1);nr=zdata(:,2);R=zdata(:,3);X=zdata(:,4);
nbr=length(zdata(:,1));nbus=max(max(nl),max(nr));
Z=R+j*X;
y=ones(nbr,1)./Z;
Y=zeros(nbus,nbus);
For k=1:nbr;
ifnl(k)>0&nr(k)>0
Y(nl(k),nr(k))=Y(nl(k),nr(k))-y(k);
Y(nr(k),nl(k))=Y(nl(k),nr(k));
end
end
for n=1:nbus
fo k=l:nbr
ifnl(k)==n
Y(n,n)=Y(n,n)+y(k);
elseif nr(k)==n
Y(n,n)=Y(n,n)+y(k);
end
end
end
function[Y]=ybusl(zdata)
nl=zdata(:,1);nr=zdata(:,2);R=zdata(:,3);X=zdata(:,4);
nbr=length(zdata(:,1));nbus=max(max(nl),max(nr));
Z=R+j*X;
y=ones(nbr,1)./Z;
Y=zeros(nbus,nbus);
For k=1:nbr;
ifnl(k)>0&nr(k)>0
Y(nl(k),nr(k))=Y(nl(k),nr(k))-y(k);
Y(nr(k),nl(k))=Y(nl(k),nr(k));
end
end
for n=1:nbus
fo k=l:nbr
ifnl(k)==n
Y(n,n)=Y(n,n)+y(k);
elseif nr(k)==n
Y(n,n)=Y(n,n)+y(k);
end
end
end
你的程序从哪复制来的,错误太多了
如果参数矩阵zdata的元素都为正整数,还是可以运行的:
函数:(ybusl.m)
function Y=ybusl(zdata)
nl=zdata(:,1);
nr=zdata(:,2);
R=zdata(:,3);
X=zdata(:,4);
nbr=length(zdata(:,1));
nbus=max(max(nl),max(nr));
Z=R+j*X;
y=ones(nbr,1)./Z;
Y=zeros(nbus,nbus);
for k=1:nbr
if nl(k)>0&nr(k)>0
Y(nl(k),nr(k))=Y(nl(k),nr(k))-y(k);
Y(nr(k),nl(k))=Y(nl(k),nr(k));
end
end
for n=1:nbus
for k=1:nbr
if nl(k)==n
Y(n,n)=Y(n,n)+y(k);
elseif nr(k)==n
Y(n,n)=Y(n,n)+y(k);
end
end
end
-------------
主程序:
clear all;clc;
zdata=[1 2 3 4;2 4 6 7;4 6 9 3;2 5 8 9;1 4 5 7];
y=ybusl(zdata);
再问: 为什么输入你给主程序以后自动就清除 了啊?!我没学过MATLAB,自己琢磨的,能不能再教教我啊?!
再答: 主程序与定义的函数是不能在一起的,怎么叫自动就清除了,不是很明白 就是你定义的函数先保存为ybusl.m,然后新建一个m文件,名字就你自己随便取了 输入你的输入参量,即zdata,再调用你的函数y=ybusl(zdata);点击run就可以了 函数就自动调用成功了。
再问: 不好意思,大神,再追问一下你,就是先新建一个m文件我知道的把函数放在里面然后保存一下,然后是不是打开这个然后输入主程序啊?
再答: 定义函数也是在m文件里,只是保存函数的文件名一定要和定义的函数名称一致 不然会有问题的。 新建一个m文件,建议最好先使用clear,就把我的代码复制就可以了,我运行过的: clear all;clc; zdata=[1 2 3 4;2 4 6 7;4 6 9 3;2 5 8 9;1 4 5 7]; y=ybusl(zdata) 然后点击run,在命令窗里就会显示运算结果了,祝顺利。
如果参数矩阵zdata的元素都为正整数,还是可以运行的:
函数:(ybusl.m)
function Y=ybusl(zdata)
nl=zdata(:,1);
nr=zdata(:,2);
R=zdata(:,3);
X=zdata(:,4);
nbr=length(zdata(:,1));
nbus=max(max(nl),max(nr));
Z=R+j*X;
y=ones(nbr,1)./Z;
Y=zeros(nbus,nbus);
for k=1:nbr
if nl(k)>0&nr(k)>0
Y(nl(k),nr(k))=Y(nl(k),nr(k))-y(k);
Y(nr(k),nl(k))=Y(nl(k),nr(k));
end
end
for n=1:nbus
for k=1:nbr
if nl(k)==n
Y(n,n)=Y(n,n)+y(k);
elseif nr(k)==n
Y(n,n)=Y(n,n)+y(k);
end
end
end
-------------
主程序:
clear all;clc;
zdata=[1 2 3 4;2 4 6 7;4 6 9 3;2 5 8 9;1 4 5 7];
y=ybusl(zdata);
再问: 为什么输入你给主程序以后自动就清除 了啊?!我没学过MATLAB,自己琢磨的,能不能再教教我啊?!
再答: 主程序与定义的函数是不能在一起的,怎么叫自动就清除了,不是很明白 就是你定义的函数先保存为ybusl.m,然后新建一个m文件,名字就你自己随便取了 输入你的输入参量,即zdata,再调用你的函数y=ybusl(zdata);点击run就可以了 函数就自动调用成功了。
再问: 不好意思,大神,再追问一下你,就是先新建一个m文件我知道的把函数放在里面然后保存一下,然后是不是打开这个然后输入主程序啊?
再答: 定义函数也是在m文件里,只是保存函数的文件名一定要和定义的函数名称一致 不然会有问题的。 新建一个m文件,建议最好先使用clear,就把我的代码复制就可以了,我运行过的: clear all;clc; zdata=[1 2 3 4;2 4 6 7;4 6 9 3;2 5 8 9;1 4 5 7]; y=ybusl(zdata) 然后点击run,在命令窗里就会显示运算结果了,祝顺利。
有没有哪位高手能帮我看一下这个MATLAB程序哪里错误了啊?运行不了,提示有错误!
帮我看一下下面的matlab程序,运行时提示有错误,
哪位高手帮我看下我的matlab程序哪里出错了,运行不了.
帮我看一下这段matlab程序为什么有错误,运行不出图像?
有没有高手能帮我找下matlab程序的错误啊?
帮我看下语法有没有错误 哪里错了可以帮忙修改一下
matlab程序错误 无法运行 哪里有错误 又怎么改正呢
lingo问题,谁帮我运行下这个程序,有错误的话帮我看看
帮我看一下这个句子有没有错误,或者有没有更好的表达!
请哪位高手看看这个LINGO程序哪有错误
it turn out that peculiar.高手帮我看一下语法有没有错误?
英语高手们帮我看一下这一段英文有没有错误呀!