matlab中disp的用法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了matlab中disp的用法相关的知识,希望对你有一定的参考价值。
请问高手小弟这个编程哪里错了
b1=input('输入第一个系数b1=')
b2=input('输入第一个系数b2=')
disp('y='num2str(b1)'*z1+'num2str(b2)'*z2')
matlab老提示错误希望高手指教
虽然在matlab中用fft函数就可以实现fft变换,但是我们仍然可以自己编写一个程序,实现快速傅立叶变换,反变换,或者倒位序排列等。
以下为matlab编写的fft源程序的函数文件。
function Y=myfft(x)
n=size(x);
for l=0:12,
if 2^l>=n
N=2^l;
L=l;
break
end
end
for t=n(2)+1:N, %不足2^L的数在末尾补0
x(t)=0;
end
x %x为补0后的序列
nv2=N/2; %倒位序
nm1=N-1;
I=0;
J=0;
while I<nm1
if I<J
t =x(J+1);
x(J+1)=x(I+1);
x(I+1)=t;
end
K=nv2;
while K<=J
J=J-K;
K=K/2;
end
J=J+K;
I=I+1;
end
X=x %至此x为实现了输入序列的倒位序排列
%以下是基-2按时间抽选fft,输入倒位序,输出自然顺序。
%(按书上P187(《数字信号处理》,程佩青)流程图所编.)
M=1;
while M<=L
LE=2^M;
LE1=LE/2;
U=1;
W=exp(-j*pi/LE1);
J=0;
while J<=LE1-1
I=J;
while I<=N-1
IP=I+LE1;
T=x(IP+1)*U;
x(IP+1)=x(I+1)-T;
x(I+1)=x(I+1)+T;
I=I+LE;
end
U=U*W;
J=J+1;
end
M=M+1;
end
Y=x;
以下为反变换程序,用正变换函数实现。
function y=myIFFT(X); %用fft实现ifft变换
N=size(X);
X=conj(X);
x=myfft(X);
x=conj(x);
y=x/N(2)
参考资料:http://www.happyit8.cn/shownews.asp?news_id=306
参考技术A 简单点说,matlab中disp()就是屏幕输出函数,就像c语言中的printf()函数 参考技术B b1=input('输入第一个系数b1=')b2=input('输入第一个系数b2=')
disp(['y=',num2str(b1),'*z1+',num2str(b2),'*z2'])
加个中括号和逗号就行了
matlab disp函数
对disp函数不是很了解 因为没有书本教材。。请帮我讲讲这个函数的使用。。好像比fprint函数好用的多。例子如下,我就是不明白这个里面disp怎么用的。
% Initialize array
a = [ 1 -3 2 5];
try
% Try to display an element
index = input('Enter subscript of element to display: ');
disp(['a(' int2str(index) ') = ' num2str(a(index))] );
catch
% If we get here an error occurred
disp( ['Illegal subscript: ' int2str(index)] );
end
使用中括号的原因不仅仅是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));也是正确的,因为里边就只有一个字符串。明白了么?欢迎交流~
拓展:
1、MATLAB 是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。
2、它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。
参考技术A disp('你要输出的字符串'),就这么简单,disp 只能输出字符串,直接在命令行窗口输出字符串 参考技术B 单引号之间的字符串原样显示,没用单引号括起来的则正常显示,比如说变量index=1,‘index’显示的是index,index则显示的是1以上是关于matlab中disp的用法的主要内容,如果未能解决你的问题,请参考以下文章