24小时热门版块排行榜    

查看: 1617  |  回复: 7
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

caoshuiyan

禁虫 (小有名气)

本帖内容被屏蔽

已阅   关注TA 给TA发消息 送TA红花 TA的回帖

whopawho2012

金虫 (小有名气)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
caoshuiyan: 金币+20, ★★★★★最佳答案 2015-03-31 15:40:16
“乘”改“点乘”
“*”改“.*”

» 本帖已获得的红花(最新10朵)

3楼2015-03-31 13:47:31
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

whopawho2012

金虫 (小有名气)

【答案】应助回帖

引用回帖:
5楼: Originally posted by caoshuiyan at 2015-03-31 15:41:00
非常感谢,我还想请问一下,如果画出的图y轴我想归一化,再怎么编辑命令啊...

首先谈谈你程序中的一个小问题,
将你的程序改成“点乘”后,虽然matlab能够画出图来,但是matlab还是会给出提示:
Warning: Imaginary parts of complex X and/or Y arguments ignored
说明你现在的y值是一个复数,而横坐标x是实数,由于无法在一幅图中同时画出复数y(y=a+i*b)随实数x的变化曲线,所以matlab忽略了y的虚部,即i*b被忽略,实际上matlab画出的是a-x变化曲线。

虽然不懂你到底要研究什么,但建议将y改成y的模abs(y),或者直接改成y的实部(real(y))或者虚部(imag(y)),再画其中一个数值随x变化的曲线。
关于你说的归一化问题其实很简单,以real(y)-x曲线为例,只需要将real(y)的所有值除上其最大值max(real(y))即可,具体的程序与结果如下:

clc;clear;
x=-2*pi:pi/100:2*pi;
y=(besselj(0,12.91*sin(x))-besselj(0,5.16*sin(x)))*9.043.*sin(x);
figure
plot(x,real(y)/max(real(y)))
一个简单的matlab关于零阶贝塞尔方程画图问题
xiaomuchong.jpg

6楼2015-04-01 11:42:43
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

whopawho2012

金虫 (小有名气)

【答案】应助回帖

引用回帖:
7楼: Originally posted by caoshuiyan at 2015-04-01 17:23:31
可否进一步探讨一下,我发现当我在y那里用了abs画出的图就改变了,不知道什么原因
x=-2*pi:pi/100:2*pi;
y=abs((besselj(0,12.91*sin(x))-besselj(0,5.16*sin(x)))*9.043.*sin(x));
figure
plot(x,real(y)/max ...

前面已经说过,y是个复数,假设y=a+b*i
abs(y)=开根号(a^2+b^2);

real(y)=a
显然这两个数是有差别的。
现在的关键是y到底是什么,有什么物理含义。
8楼2015-04-02 08:48:23
已阅   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 caoshuiyan 的主题更新
信息提示
请填处理意见