1、电脑桌面上找到matlab程序,鼠标右击打开桌面上matlab软件。
2、创建新的脚本,点击matlab左上角新建脚本命令。
3、在新建脚本命令输入窗口输入程序clearall。
4、输入程序,x等于1比0点1比10。
5、输入程序,y等于sin(x),z等于cos(x)。
6、输入程序,plot(y,z)。
7、最后产生的图像是xy函数叠加的一个圆。
8、输入程序,plot3(x,y,z)。
9、产生两个三角函数叠加产生的图形即可。
其实,这个问题本身并不困难,要点只在于怎样计算贝塞尔函数。
MATLAB提供了计算贝塞尔函数的函数,详情请参见另一个问题的回答。
首先,试图使用符号数学工具箱求解析解,代码如下:
syms x yeq1=(cos(x)-1/3(cos(x))^3)+2(1000+683-22480)/
(3(1000-683))-y(sin(x))^2/0000115-2sin(x)
sin(x-0959931)/0000115^2/(98(1000-683)/0071);
eq2=sin(0959931-x)besselk(0,(98(1000-683)/0071)^
050000115sin(x))+(98(1000-683)/0071)^05y
besselk(1,(98(1000-683)/0071)^050000115sin(x));
[x,y]=solve(eq1,eq2)
得到的结果为:
x =72408611253328779611417644360562
y =
-85870621389208280165235516006804e-6
这是因为无法求得解析解,因而调用了数值方法求解得到的结果(注意,在不同MATLAB版本中的处理方式可能存在差别,我使用Maple内核的2008a求解得到上述结果,但使用MuPad内核的2012b则得到复数解)。
由于这里求得的x不符合0-pi区间的要求,所以,考虑直接用数值方法求解方程(使用优化工具箱fsolve函数)。代码如下:
function zdx0 = [pi/2; -1e-5];
options=optimset('Display','iter');
x = fsolve(@eqs, x0, options);
fprintf('x = %6g, y = %6g\n', x);
fprintf('Eq1(x, y) = %6g, Eq1(x, y) = %6g\n', eqs(x));
function f = eqs(X)
x = X(1);
y = X(2);
f(1)=(cos(x)-1/3(cos(x))^3)+2(1000+683-22480)/
(3(1000-683))-y(sin(x))^2/0000115-2sin(x)
sin(x-0959931)/0000115^2/(98(1000-683)/0071);
f(2)=sin(0959931-x)besselk(0,(98(1000-683)/0071)^
050000115sin(x))+(98(1000-683)/0071)^05y
besselk(1,(98(1000-683)/0071)^050000115sin(x));
得到的结果:
x = 0957676, y = -858706e-007Eq1(x, y) = -515143e-014, Eq1(x, y) = -138778e-017
我觉得没有太多需要的说明的,所以就不多写了,有问题请追问。
另外,我注意到,前面用符号数学工具箱求出的解与使用fsolve得到的结果相差2pi,有兴趣可自行验证。
==================================
由于百度知道系统抽风,另一个问题的答案“正在提交中”,我把主要内容贴到这里,供参考。
MATLAB提供了计算贝塞尔函数的函数,具体包括:
besselj - 第一类贝塞尔函数,或简称贝塞尔函数;
bessely - 第二类贝塞尔函数,又称诺伊曼函数(Neumann function);
besseli - 第一类修正贝塞尔函数;
besselk - 第二类修正贝塞尔函数;
besselh - 第三类贝塞尔函数,又称汉克尔函数(Hankel function)。
这几个函数的调用语法基本相同,例如
J = besselj(nu,Z)J = besselj(nu,Z,1)
[J,ierr] = besselj(nu,Z)
其中,nu为贝塞尔函数的阶数,Z为函数自变量。阶数必须为实数,但Z可以是复数。
就你的问题而言,非常简单,K0(x)、K1(x)在MATLAB中的表达式分别为besselk(0,x)、besselk(1,x)。
另外值得一提的是,上述函数是MATLAB基本模块提供的特殊函数(也就是说不需要任何附加工具箱),采用数值方法计算;而符号数学工具箱则提供了第一和第二类的4个贝塞尔函数,名称和调用方式都与基本模块的4个函数完全一致,但支持微分、积分等符号运算。
在Matlab中,可以使用plot函数在xy轴上画几个点。plot函数的基本用法是:plot(x,y),其中x和y分别表示点的横坐标和纵坐标。
例如,如果要在xy轴上画出坐标为(1,2)和(3,4)的两个点,可以使用以下代码:
```
x = [1, 3];
y = [2, 4];
plot(x, y, 'o');
```
在这个例子中,我们首先定义了两个数组x和y,分别表示两个点的横坐标和纵坐标。然后使用plot函数将这两个点画在图上,并使用'o'参数指定点的形状为圆形。
在Matlab中,除了使用plot函数画点,还可以使用scatter函数、line函数等进行绘图。这些函数的不同之处在于它们支持的参数和绘图方式不同。例如,scatter函数可以绘制不同大小、颜色的点,而line函数可以画出直线、曲线等。
总之,在Matlab中,可以使用多种函数在xy轴上画出不同形状、颜色、大小的点,以及直线、曲线等。这些函数的选择取决于具体的需求和数据类型。
以上就是关于matlab画小鱼全部的内容,包括:matlab画小鱼、高手帮忙,2个关于xy,并含修正贝塞尔函数的方程,怎样用matlab求解xy,谢谢~~~、matlab怎么在xy轴上画几个点等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)