冲动 发表于 2009-5-10 15:34

问大家一个矩阵乘法的问题哈

syms w
>> M=;
C=;
K=;
>> N=inv(K-w^2*M+i*w*C);
C1=;
K1=;
>> L=K1+i*w*C1;
>> H(w)=N*L
??? Error using ==> subsindex
Function 'subsindex' is not defined for values of class 'sym'.
为什么会出错呢,麻烦大家给我看一看

ChaChing 发表于 2009-5-10 17:40

index不允许使用符号!

friendchj 发表于 2009-5-10 18:00

H(w)=N*L改为H=N*L

冲动 发表于 2009-5-10 20:58

回复 板凳 friendchj 的帖子

谢谢了大家了,哈哈

冲动 发表于 2009-5-10 21:14

大家帮帮忙看一下

syms w
M=;
C=;
K=;
N=inv(K-w^2*M+i*w*C);
C1=;
K1=;
L=K1+i*w*C1;
H=N*L;
h1=';
h=H*h1
h2=-w^2*h;
G=abs(h2)^2
为什么这段程序运行之后还出现虚数单位i 哟,请大家帮帮忙看一下,怎么改正,摆脱了

无水1324 发表于 2009-5-10 22:24

你自己在里面输入的时候用到了符号i啊

一般情况下 不要用i j 作为符号

冲动 发表于 2009-5-10 22:41

回复 沙发 无水1324 的帖子

可傅立叶变换里面有i 呀,我是直接从纸上进行傅立叶变换,然后再编程求功率谱
因为我微分方程组的傅立叶变换和功率谱我不会用MATLAB求,请问你有相关的程序吗

ChaChing 发表于 2009-5-10 23:00

个人水平专业有限, LZ的问题已非编程问题, 应该已是专业问题!

冲动 发表于 2009-5-11 08:31

求助一个程序问题

请大家帮我看一下,为什么程序运行完之后,结果里面含有i 呢
syms w
>> M=;
C=;
K=;
>> N=inv(K-w^2*M+i*w*C);
C1=;
K1=;
>> L=K1+i*w*C1;
>> H=N*L;
h=abs(H)

ChaChing 发表于 2009-5-11 11:07

建议楼主看下本版规则!
相同或相近内容的话题,请勿开新贴,一帖发完!

tisang 发表于 2009-5-11 17:28

ABS后还出现i,不理解

friendchj 发表于 2009-5-11 18:39

1. 出现i不是程序的问题,应该是你问题的需要。在N=inv(K-w^2*M+i*w*C);中已经出现虚数单位i;
2. 不知abs对符号表达式的作用是什么,但不是取模,试了试:
syms x
a=1+i*x;
abs(a)=abs(1+i*x)
3. 若想不出现i,可对H先赋值再取模,如,abs(subs(H,.5))

冲动 发表于 2009-5-11 21:04

回复 12楼 friendchj 的帖子

十分感谢你,但是我不知道abs(subs(H,.5))是什么意思,H是一个列向量,而且它里面还包含未知量w,怎么照你说的算出来是一个6*6的数字矩阵,而且不包含w,我要画出abs(H)关于w的图像,你知道怎么画吗,请帮帮忙吧,摆脱你了

friendchj 发表于 2009-5-11 21:27

回复 13楼 冲动 的帖子

你所谓的画图像是什么意思,w每取一次值,得到一个矩阵H,取多个w,就会得到多个H,然后怎么做?
关于subs,看看help。

ChaChing 发表于 2009-5-11 21:50

回复 13楼 冲动 的帖子

不知该讲否! 个人较不喜欢问题未交代缘由!
若LZ一开始就能简单交代下原来的问题, 不是劈头看一看! 或许他人更容易出主意!
总觉得LZ的问题, 好像不一定得使用symbol? 或许使用简单的途径同样能达到目的!
没帮着! 想想参考下!
页: [1] 2
查看完整版本: 问大家一个矩阵乘法的问题哈