Matlab 带符号变量的复数运算及其画图问题

问题描述:

Matlab 带符号变量的复数运算及其画图问题
我想画一个Go(jw)的实部为x轴,虚部为y轴的图,程序后附,
y=real(g);x=imag(g); 的时候我发现得到的x和y不是我想要的结果

y =-5*i/w/(1+1/5*i*w)/(1+1/20*i*w)+5*i*conj(1/w/(1+1/5*i*w)/(1+1/20*i*w))
x =-1/2*i*(-10*i/w/(1+1/5*i*w)/(1+1/20*i*w)-10*i*conj(1/w/(1+1/5*i*w)/(1+ /20*i*w)))
结果显示不是取实部、虚部啊,这是为什么呢?请各位大侠指路,
clc
clear
syms w;
g=10/(w*(1+0.2i*w)*(1+0.05i*w)*1i)
y=real(g);
x=imag(g);
ezplot(x,y,[0,10000])
1个回答 分类: 综合 2014-09-30

问题解答:

我来补答
你这样写其实没错,但是下边的好一点
close all;clear,clc
syms w real
g=10/(w*(1+0.2i*w)*(1+0.05i*w)*1i);
y=simplify(real(g));
x=simplify(imag(g));
t=0.1:.1:10000;
xi=subs(x,t);yi=subs(y,t);
plot(xi,yi);
再问: 您好,我弱弱的问一句: 1、您的程序中有“xi=subs(x,t);yi=subs(y,t);”,是不是把x,y中的符号变量w替换成向量t啊? 2、您的“syms w real”中的real是指把w的值规定为实数吗?
再答: 1.是的 2.是的,不过写不写都一样,因为不写的话适当做复数来运算。而实数也算复数,自然后边的结果也就不变了,只不过写了的话matlab运算量或许会小一点(电脑部需要考虑那么多)
展开全文阅读
上一页:pass..
下一页:复合函数求值域