24小时热门版块排行榜    

CyRhmU.jpeg
南方科技大学公共卫生及应急管理学院2025级博士研究生招生报考通知
查看: 1557  |  回复: 7
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

caoshuiyan

禁虫 (小有名气)

本帖内容被屏蔽

已阅   关注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的回帖
查看全部 8 个回答

dingd

铁杆木虫 (职业作家)

【答案】应助回帖

★ ★ ★ ★ ★
感谢参与,应助指数 +1
caoshuiyan: 金币+5, 有帮助 2015-03-31 15:38:41
这个图对吗,用1stOpt画的:
CODE:
Variable x=[-2*pi:pi/100:2*pi],y;
PlotFunction y=(bessj(0,12.91*sin(x))-bessj(0,5.16*sin(x)))*9.043*sin(x);

一个简单的matlab关于零阶贝塞尔方程画图问题-1
c2.jpg

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

2楼2015-03-31 11:47:17
已阅   关注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的回帖

caoshuiyan

禁虫 (小有名气)

送红花一朵
本帖内容被屏蔽

4楼2015-03-31 15:40:00
已阅   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见