![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
数学学习
主要基于MATLAB开发环境,c偶尔涉及。
JZRejon
这个作者很懒,什么都没留下…
展开
-
基于MATLAB实现的龙贝格求积分算法
function [int] =integRob(xi,a,b)tk=zeros(1,100);sk=zeros(1,100);ck=zeros(1,100);rk=zeros(1,100);tk(1)=(b-a)*(0.5*polyval(xi,a)+0.5*polyval(xi,b));for n=2:20 sum=0; for m=1:2^(n-2) sum=sum+polyval(xi,a+(2*m-1)*(b-a)/2^(n-1)); end原创 2021-01-11 18:54:33 · 3233 阅读 · 4 评论 -
基于MATLAB实现最小二乘法的曲线拟合
function [a] = fitting(t,x,order)k=zeros(length(x),order+1);for i=1:length(x) for j=1:order+1 k(i,j)=t(i)^(j-1); endendy=k'*x';k=k'*k;a=sorm(k,y,1.8);%超松弛迭代法求解正规方程a=fliplr(a);end输出的a向量即为拟合方程曲线的多项式系数向量...原创 2021-01-11 18:51:10 · 1172 阅读 · 0 评论 -
基于MATLAB实现固定步长的四阶龙格库塔方法求解常微分方程初值问题
代码构造函数function [yn,xn] = RKorder4(f,a,b,h,y0)%a,b为上下界;h为步长;y0为初值。%返回yn、xn向量,并绘制曲线yn=zeros(1,((b-a)/h)+1);yn(1)=y0;xn=a:h:b;for i=1:((b-a)/h) k1=h*f(xn(i),yn(i)); k2=h*f(xn(i)+h/2,yn(i)+k1/2); k3=h*f(xn(i)+h/2,yn(i)+k2/2); k4=h*f(xn(原创 2021-01-11 18:50:52 · 3576 阅读 · 0 评论 -
MATLAB函数step()对单位负反馈系统求阶跃响应
利用MATLAB绘制单输入LTI系统的阶跃响应,输入开环传递函数。在指定时间区间内绘出阶跃响应曲线,计算出上升时间 trt_{r}tr 、峰值时间tpt_{p}tp、超调量σ%\sigma\%σ%、调整时间tst_{s}ts。需要安装Control System Toolbox™工具包,基于函数step()实现。函数step()说明sys=tf(N,D);[y,t] = step(sys,Tfinal);sys需要由前置Control System Toolbox™工具包内函数tf()生成原创 2020-11-28 17:50:49 · 20915 阅读 · 5 评论 -
MATLAB多项式方程基础运算
目录展开与分解因式expand()factor()转化符号x的多项式为数值向量多项式四则运算加减法乘法除法多项式求根多项式微分n*d的导数n/d的导数在MATLAB中创建符号变量x,输入以下多项式。n=(x+1)(x−2)(x+4)d=(x+3)(x+5)(x−1)n=(x + 1)(x - 2)(x + 4) \\d=(x+3)(x+5)(x-1)n=(x+1)(x−2)(x+4)d=(x+3)(x+5)(x−1)n=(x+1)*(x-2)*(x+4);d=(x+3)*(x+5)*(x-1)原创 2020-11-06 23:09:41 · 774 阅读 · 0 评论 -
MATLAB数值积分
求定积分∫10xx2+4\int_{1}^{0} \frac{x}{x^{2}+4}∫10x2+4xfun=@(x) x./(x.^2+4);q=quadl(fun,0,1)q = 0.1116求二重定积分∫01∫−11y2sinxdxdy\int_{0}^{1}\int_{-1}^{1} y^{2}\sin xdxdy∫01∫−11y2sinxdxdyfun=@(x,y) y.^2.*sin(x);q=dblquad(fun,-1,1,0,1);q = -原创 2020-11-06 22:16:33 · 554 阅读 · 0 评论 -
MATLAB控制系统工具包绘制根轨迹
MATLAB绘制单输入LTI系统的闭环根轨迹,需要安装Control System Toolbox™工具包,基于函数rlocus()实现。函数rlocus()说明输入sys需要由前置Control System Toolbox™工具包内函数tf()生成。sys=tf(N,D);N为开环增益G(s)的分子多项式系数向量。D为开环增益G(s)的分母多项式系数向量。输出[r,k] = rlocus(sys);r = rlocus(sys,k);返回选定增益的向量k和这些增益的复根位置r。原创 2020-11-06 21:47:06 · 4006 阅读 · 5 评论 -
基于高斯塞德尔方法的超松弛迭代法MATLAB实现
概述用MATLAB编程实现,形成m函数文件。输入A,b矩阵,与松弛因子 ω\omegaω,无返回值。设置精度要求ε=10−4\varepsilon=10^{-4}ε=10−4。所得解向量向量直接显示在命令行窗口,同时绘制出解向量的收敛曲线。判断迭代方法收敛性时计算高斯塞德尔迭代矩阵谱半径以判断。代码与运行结果function [] = sor(A,b,w)%基于高斯塞德尔的超松弛迭代求解向量G=-(tril(A))\triu(A,1);R=max(abs(eig(G)));if(R>=原创 2020-10-16 16:49:45 · 4891 阅读 · 2 评论 -
MATLAB实现雅可比与高斯塞德尔迭代
概述用MATLAB编程实现,形成m函数文件。输入A,b矩阵,无返回值,解得x向量直接显示在命令行窗口,同时绘制出x向量的收敛曲线。高斯塞德尔方法代码function [] = gaussseidel(A,b)%高斯塞德尔迭代法G=-(diag(diag(A))+tril(A,-1))\triu(A,1);R=max(abs(eig(G)));if(R>=1) disp('Gauss-Seidel is not work');else disp('Gauss-Sei原创 2020-10-15 23:18:44 · 7457 阅读 · 1 评论