我试图根据通过我创建的函数传递的用户输入来绘制流线图,箭头图或两者。它描绘了一个流线,但是当我尝试通过在我的函数中输入'vectors'来绘制一个箭袋时,我得到了错误代码:Matrix维度必须一致。 第3部分(第8行)出错
此错误消息也会显示在我链接的图片中。
我的代码在下面链接为图片,但这里是我的函数和脚本代码文本。
以下是我的功能和脚本图片链接:function script
function [ output_args ] = part3(type,x,y,num,startx)
[XX YY]=meshgrid(x,y);
starty=linspace(-1,1,num);
startx1=-startx;
fx=XX;
fy=sin(XX);
if type=='streamlines'
hold on
streamline(XX,YY,fx,fy,startx,starty)
streamline(XX,YY,fx,fy,startx1,starty)
elseif type=='vectors'
quiver(XX,YY,fx,fy)
elseif type=='both'
subplot(1,2,1)
streamline(XX,YY,fx,fy,startx,starty)
subplot(1,2,2)
quiver(XX,YY,fx,fy)
end
end
这是我的剧本:
x=linspace(-2*pi,2*pi,10);
y=linspace(-1,1,30);
startx=ones(size(y));
strmln=30;
part3('vectors',x,y,strmln,startx )
答案 0 :(得分:0)
type=='streamlines'
中的错误只是因为您尝试使用==
比较不同长度的字符串。例如,此代码也会导致错误:
type = 'word';
type == 'longerword'
只需使用strcmp
或strcmpi
来比较字符串:
type = 'word';
strcmp(type,'longerword')