matlab怎么写算法

1.matlab 求公式编写方法给你举一个求函数值的例子:首先新建一个m文件,然后在里边写如下代码(具体的函数体,代码会不同):function y=fff(x,z1,z2) %fff为函数名,当你保存m文件的时候最好也用这个名,这样不会在运行时出错,否则的话可能会出错,其中y为输出参数,即函数值,x,z1,z2为输入参数,x为自变量,z1,z2为函数中的参数,当k1,k2不随x的变化而变化的时候,可以只写为“function y=fff(x)”,但是参数k1k2要在m文件中声明 。
for i=1:length(x) p(i)=sqrt(x(i)^2+10)+z1(i)-z2(i); %x(i),z1(i),z2(i)分别为向量的第i的元素y=p*2-5; %注意函数体中一定要要给y赋值,因为y是输出参数,否则会出现错误 。end到此为止,m文件编写结束,要保存 。
然后在matlab的command窗口输入以下内容:x=1:5;z1=1:-0.1:0.6;z2=0:0.5:2; %注意x,z1,z2的大小要一致,如果z1,z2已经在函数中声明,这里就不用输入了 。pp=fff(x,z1,z2) %注意输入参数的顺序要和函数的一样之后会出现以下结果:pp = 3.6332 3.2833 3.3178 3.5980 4.0322得知自变量x和因变量y的值后,就可以拟合了,但是你要做拟合的话最好用spssmatlab的曲线拟合并不是很好,但是给你介绍一下在命令窗口下输入以下命令:plot(x,y,'r:o') % 会出现一个figure,在菜单栏上的tools选择basic fitting,以下你自己弄就可以了,可以看见图像,又可以看见曲线的表达式,但据我所知matlab只能拟合幂函数 。
你的程序太乱,没看懂,不知我写的是否对你有帮助 。
2.MATLAB 的欧拉算法怎么写式有:
y(k+1)=y(k)-30*h*y(k+1)
变形求得:
y(k+1)=y(k)/(30*h+1)
故MATLAB程序有:
h=0.05;
x=[0:h:1];
y(1)=1;
for k=1:length(x)-1
y(k+1)=y(k)/(30*h+1);
end
plot(x,y,'r.-');
title('向后欧拉');
grid on
3.MATLAB的算式书写规则MATLAB包括拥有数百个内部函数的主包和三十几种工具包 。工具包又可以分为功能性工具包和学科工具包 。功能工具包用来扩充MATLAB的符号计算,可视化建模仿真,文字处理及实时控制等功能 。学科工具包是专业性比较强的工具包,控制工具包,信号处理工具包,通信工具包等都属于此类 。
开放性使MATLAB广受用户欢迎 。除内部函数外,所有MATLAB主包文件和各种工具包都是可读可修改的文件,用户通过对源程序的修改或加入自己编写程序构造新的专用工具包 。
Matlab Main Toolbox——matlab主工具箱
Control System Toolbox——控制系统工具箱
Communication Toolbox——通讯工具箱
Financial Toolbox——财政金融工具箱
System Identification Toolbox——系统辨识工具箱
Fuzzy Logic Toolbox——模糊逻辑工具箱
Higher-Order Spectral Analysis Toolbox——高阶谱分析工具箱
Image Processing Toolbox——图象处理工具箱
LMI Control Toolbox——线性矩阵不等式工具箱
Model predictive Control Toolbox——模型预测控制工具箱
μ-Analysis and Synthesis Toolbox——μ分析工具箱
Neural Network Toolbox——神经网络工具箱
Optimization Toolbox——优化工具箱
Partial Differential Toolbox——偏微分方程工具箱
Robust Control Toolbox——鲁棒控制工具箱
Signal Processing Toolbox——信号处理工具箱
Spline Toolbox——样条工具箱
Statistics Toolbox——统计工具箱
Symbolic Math Toolbox——符号数学工具箱
Simulink Toolbox——动态仿真工具箱
Wavele Toolbox——小波工具箱
4.matlab写代码计算,重谢都是一些基本的命令,我给的方法没问题,但不保证没有输入错误,请再仔细检查一下 。
参考代码: >> syms x>> s=limit(x*sin(2*x/(x^2+1)),inf) s = 2>> y=1/sqrt(sin(1/x));>> diff(y) ans = 1/2/sin(1/x)^(3/2)*cos(1/x)/x^2>> y=2*x^2+log(x);>> limit(diff(y,2),1) ans = 3>> int(cos(2*x)/sin(x)^2*cos(x)^2) ans = 1/2*tan(1/2*x)-1/2/tan(1/2*x)-4*atan(tan(1/2*x))+2*tan(1/2*x)/(tan(1/2*x)^2+1)-4*tan(1/2*x)/(tan(1/2*x)^2+1)^2>> int(exp(-2*x)*sin(x),0,inf) ans = 1/5>> solve(x+x*exp(x)-10) ans = 1.6335061701558463841931651789789>> dsolve('x^2*Dy+2*x*y=exp(x)','x') ans = 1/x^2*exp(x)+1/x^2*C1 。