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。
转载请注明出处育才学习网 » matlab怎么写算法