matlab 单引号里面又有逗号是什么用法

问题描述:

matlab 单引号里面又有逗号是什么用法
clear all
k=linspace(1,5);
for i=1:length(k)
kk=k(i);
fun=['sin(',num2str(kk),'*x).*x.^2'];
y(i)=quadl(inline(fun),1,5);
end
plot(k,y)
如上,这是别人写的一个程序,sin(',num2str(kk),'*x)单引号还有逗号的是什么意思,看不懂了,求指教
第五行也可写为 fun=strcat('sin(',num2str(kk),'*x).*x.^2');
为什么要用到strcat?
1个回答 分类:综合 2014-09-23

问题解答:

我来补答
fun=['sin(',num2str(kk),'*x).*x.^2'];
fun=['sin(' num2str(kk) '*x).*x.^2'];
逗号可以换成空格,'sin('、num2str(kk)和'*x).*x.^2'是3个字符串,程序作用是将他们连接成一个字符串,当然用strcat也行,你可能有点误解
再问: 哦 ,我不是误解,而是这块内容不懂啊,1.我看书上说字符串用单引号设定后赋值,没有提到前面还有空格或者逗号?2.一对单引号应该是一个字符串,这里一共两对单引号,所以不是很理解您的3个字符串? 我的问题可能很简单,希望您能诲人不倦,非常感谢
再答: num2str(kk)是把数字转换为字符串
再问: 我试了,逗号不可以换成空格,如果换成空格,会出现“Unexpected MATLAB expression.”前后都加个逗号,是什么用法啊
再答: 'sin('、num2str(kk)和'*x).*x.^2'是3个字符串,程序作用是将他们连接成一个字符串,逗号或空格的作用就是起一个间隔作用,我试了一下,逗号改成空格是完全可以的(注意这里是对【】这种情况而言的) 假如用strcat,则只能用逗号,不能用空格,这是语法问题,没什么好解释的。
 
 
展开全文阅读
剩余:2000
下一页:请说清为什么