matlab中带参数的复数求实部,为什么结果会用conj表示?
来源:学生作业帮 编辑:大师作文网作业帮 分类:综合作业 时间:2024/11/17 12:03:27
matlab中带参数的复数求实部,为什么结果会用conj表示?
比如:>> clear
>> syms a b;
>> z=a+b*i;
>> real(z)
程序运行结果是:
ans =
a/2 + conj(a)/2 + (b*i)/2 - (i*conj(b))/2
如果a b 是具体的数值就表示正确,但是是参数的时候就是用conj表示的.
比如:>> clear
>> syms a b;
>> z=a+b*i;
>> real(z)
程序运行结果是:
ans =
a/2 + conj(a)/2 + (b*i)/2 - (i*conj(b))/2
如果a b 是具体的数值就表示正确,但是是参数的时候就是用conj表示的.
原因:
变量a、b可能为复数.
解决办法:
定义变量时指定为实变量,在变量后面加real标识.
代码:
>> clear
>> syms a b real;
>> z=a+b*i;
>> real(z)
>>ans =
a
变量a、b可能为复数.
解决办法:
定义变量时指定为实变量,在变量后面加real标识.
代码:
>> clear
>> syms a b real;
>> z=a+b*i;
>> real(z)
>>ans =
a