你要存储的表达式变化很多吗,全部是2个数相加减还是有变化的?
如果是2个数的 *** 作,可以把2个数存储在2列里
select a+b from table 或 select a*b from table
表达方式:eval()函数的功能就是将括号内的字符串视为语句并运行,其用法为:
例如: eval('y1=sin(2)')就是相当于在matlab命令窗口输入了y1=sin(2)这条命令。
多在循环中使用,可以对多个名字有规则的变量或文件进行 *** 作,
例一:
for x=1:5
eval(['y',num2str(x),'=',num2str(x^2),''])
end
以上语句等价于执行以下5句:
ynum2str(1)=num2str(1^2)
ynum2str(2)=num2str(2^2)
ynum2str(3)=num2str(3^2)
ynum2str(4)=num2str(4^2)
ynum2str(5)=num2str(5^2)
例二:
subplot(711)plot(t,y)title('原始信号’);
for i=1:6
subplot(7,1,i+1)
plot(t,imf(i,:))
eval(['title(''IMF',int2str(i),''')'])
end
-------------------------
以上6行程序实际上是执行以下7条命令
subplot(711)plot(t,y)title('原始信号')
subplot(7,1,2)plot(t,imf(1,:))title('IMF1')
subplot(7,1,3)plot(t,imf(2,:))title('IMF2')
subplot(7,1,4)plot(t,imf(3,:))title('IMF3')
subplot(7,1,5)plot(t,imf(4,:))title('IMF4')
subplot(7,1,6)plot(t,imf(5,:))title('IMF5')
subplot(7,1,7)plot(t,imf(6,:))title('IMF6')
其中最后6条是通过循环里面执行的语句
这里主要是通过eval()函数实现了输出title('IMFi')这个语句
1.把 title('IMF 看做一个字符串
2.把i (i=1,2,3,4,5,6)这个浮点型变量以字符的形式输出
3.把 ')看做一个字符串
以上三部分整合起来就是 输出命令 title('IMFi')
其中值得注意的是想要输出单撇号,用''代替'即可,就好像C语言用\\代替\是一个道理,都属于特殊符号。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)