求助matlab中disp的用法
MH=[51000,71400,128000,370000];MT=[16,24,48,116];h=600;fork=1:4H=MH(k);a=(h+H+2.*R)./...
MH=[51000,71400,128000,370000];
MT=[16,24,48,116];
h=600;
for k=1:4
H=MH(k);
a=(h+H+2.*R)./2;
b=sqrt(a.^2-c.^2);
c=(H-h)./2;
s1=pi.*a.*b./MT(k);
vmax=2.*s1./(R+h);
disp(‘Vmax’,‘k’,vmax)
end
为什么这样,电脑总是报错,我想要的效果是,
输出
Vmax1=。。。
Vmax2=。。。
Vmax3=。。。
Vmax4=。。。
请问应该如何办到。 展开
MT=[16,24,48,116];
h=600;
for k=1:4
H=MH(k);
a=(h+H+2.*R)./2;
b=sqrt(a.^2-c.^2);
c=(H-h)./2;
s1=pi.*a.*b./MT(k);
vmax=2.*s1./(R+h);
disp(‘Vmax’,‘k’,vmax)
end
为什么这样,电脑总是报错,我想要的效果是,
输出
Vmax1=。。。
Vmax2=。。。
Vmax3=。。。
Vmax4=。。。
请问应该如何办到。 展开
5个回答
展开全部
你的程序错误很多,
第一个:R没有定义
第二个:c的计算在使用后面
第三个:disp使用错误
disp(['Vmax' num2str(k) '=' num2str(vmax)])
MH=[51000,71400,128000,370000];
MT=[16,24,48,116];
h=600;
R=1;
for k=1:4
H=MH(k);
a=(h+H+2.*R)./2;
c=(H-h)./2;
b=sqrt(a.^2-c.^2);
s1=pi.*a.*b./MT(k);
vmax=2.*s1./(R+h);
disp(['Vmax' num2str(k) '=' num2str(vmax)])
end
第一个:R没有定义
第二个:c的计算在使用后面
第三个:disp使用错误
disp(['Vmax' num2str(k) '=' num2str(vmax)])
MH=[51000,71400,128000,370000];
MT=[16,24,48,116];
h=600;
R=1;
for k=1:4
H=MH(k);
a=(h+H+2.*R)./2;
c=(H-h)./2;
b=sqrt(a.^2-c.^2);
s1=pi.*a.*b./MT(k);
vmax=2.*s1./(R+h);
disp(['Vmax' num2str(k) '=' num2str(vmax)])
end
展开全部
disp里面是个字符串,所以要有个函数把vmax数据从数字转化成字符串,这个用num2str实现
可以这样:
disp(['vmax=',num2str(vmax)])
可以这样:
disp(['vmax=',num2str(vmax)])
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你可以在窗口中键入doc disp就会跳到MATLAB的帮助菜单里面了,里面有很多例子可以帮助你理解disp的用法或者你也可以点击help的deom菜单搜索disp也会跳到关于disp的用法的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
使用中括号的原因不仅仅是disp的原因。
disp(X)函数只有一个输入,当你有多个字符串作为输入时就会报错。例如:
disp('Alice is ' , num2str(12) , ' years old!' ); 就会报错——输入参数过多。
但是将里边的内容用中括号一括就成了一个字符串,例如:
str=['Alice is ' num2str(12) ' years old!']; disp(str);
上边这句话也就等价于:
disp=(['Alice is ' num2str(12) ' years old!']);
这就是加中括号的原因,而不是因为num2str(),因为disp(num2str(12));也是正确的,因为里边就只有一个字符串。
disp(X)函数只有一个输入,当你有多个字符串作为输入时就会报错。例如:
disp('Alice is ' , num2str(12) , ' years old!' ); 就会报错——输入参数过多。
但是将里边的内容用中括号一括就成了一个字符串,例如:
str=['Alice is ' num2str(12) ' years old!']; disp(str);
上边这句话也就等价于:
disp=(['Alice is ' num2str(12) ' years old!']);
这就是加中括号的原因,而不是因为num2str(),因为disp(num2str(12));也是正确的,因为里边就只有一个字符串。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询