部分效果图:

插值算法

曲线拟合:

非线性最小二乘拟合:

代码实现:

%collect按照一定的变量展开
clear
clc
syms x t
EXPR = str2sym('(x^2+x*exp(-t)+1)*(x+exp(-t))')
expr1 = collect(EXPR)
expr2 = collect(EXPR,exp(-t))
expr3 = collect(EXPR,[x,exp(-t)])
f = expand(sin(x+3*t))
coeffs_cosy = collect(f,cos(t))
coeffs_mat = collect ([(x+1)*(t+1),x^2+x*(x-t);2*x*t-x,x*t+x/t],t)clear
clc
%%collect函数展开
syms a b c d e f
F = a*sin(2*x) + c*cos(x) + d*cos(x) + e*sin(3*x) + f*sin(3*x)
coeffs_sin = collect(F,'sin')
coeffs_sincos = collect(F,{'sin','cos'})%因式分解
clear
clc
syms a x
f1 = x^4-5*x^3+5*x^2+5*x-6
fac1 = factor(f1)
f2 = x^2-a^2
fac2 = factor(f2)fac3 = factor(1025)%多项式或者函数分解
clear
clc
syms x y
expand((x+1)^3)
expand(sin(x+y))%化简clear
clc
syms x a
f = (1/x^3+6/x^2+12/x+8)^(1/3)
%sfy1 = simplify(f,'full')
sfy2 = simplify(f)
%sfy3 = simplify(f,'class')ff = cos(x)+sqrt(-sin(x)^2)
ssfy1 = simplify(ff)
ssfy2 = simplify(ssfy1)%变量替换
clear
clc
syms a x
f = a*sin(x)+5
f1 = subs(f,sin(x),sym('y'))
f2 = subs(f,{a,x},{2,sym(pi/3)})
f3 = subs(f,{a,x},{2,pi/3})
f4 = subs(subs(f,a,2),x,0:pi/6:pi)
f5 = subs(f,{a,x},{0:6,0:pi/6:pi})%求极限
clear
clc
syms x
f = sin(x)/x
val1 = limit(f,x,0)f1 = (1+4*x)^(1/x)
f2 = (exp(x)-1)/x
val2 = limit(f1,x,0)
val3 = limit(f2,x,0)f3 = sqrt(x)-2^(-1/x)
limit(f3,x,0,'right')%求导
clear
clc
syms x
f = 3*x^3+5*x+1
%%一元函数求导
%二阶导
danhsu1 = diff(f,2)
%导数值
f1 = 3*x^3-2*x+1
daoshu2 = diff(f1)
x = 1
eval(daoshu2)%%二元函数求导
syms a b
z = a^2*sin(2*b)
B = diff(z,a)
A = diff(z,b)
C = diff(z,a,b)%%积分运算
%一元函数不定积分
clear
clc
syms x
y = 1/(sin(x)^2*cos(x)^2)
A = int(y)
pretty(int(y))syms z
B = int(x/(1+z^2),z)%%一元函数定积分
clear
clc
syms x
y = (x^2+sin(x))/(1+x^2)
int(y,x,-1,1)%多重积分
clear
clc
syms x y
int(int(x^2+y^2+1,y,x,x+1),x,0,1)%%Taylor展开
clear
clc
syms x
f = x*atan(x)-log(sqrt(1+x^2))
taylor(f)T1 = taylor(exp(x))f1 = 1/x^2
taylor(f1,x, 'ExpansionPoint',2,'Order',6)
pretty(taylor(f1,x,2))%%数值方法
%用复合梯形公式和符合辛普森公式求定积分
clear
clc
syms x
x = 2:0.1:5
y = log(x)./(x.^2)
t = trapz(x,y)
ff = @(x) log(x)./(x.^2)
q = integral(ff,2,5)syms i1
f=log(i1)/(i1^2)
eval(int(f,i1,2,5))%%数值方法求二重积分
clc
clear
syms x y
%x = 2:0.1:4
%y = 0:0.1:1
z =@(x,y)x.*y
Q = integral2(z,0,4,0,1)%%线性方程组与非线性方程组求解
clear
clc
s1 = str2sym('x^3-x^2+9*x-10')
solve(s1)%%求超越方程的根
clear
clc
syms x y
ff = str2sym('p*sin(x)=r')
solve(ff,x)eqns = [x+y==1, x-11*y==5];
S = solve(eqns, [x y], 'ReturnConditions', true);
S.x
S.y
S.conditions
S.parameters%%求和与求极值
clear
clc
a = 1:5
A = [1 2 3;2 3 4;7 8 9]
sum(a)
sum(A)%%级数求和
clear
clc
syms k n
f = k^3
symsum(f,k,0,n-1)syms x p
symsum(x^p/factorial(p),p,0,inf)%%求函数极值点
%一元函数
clear
clc
syms x
y = @(x)sin(x)+3
x = fminbnd(y,2,5)%%函数插值与曲线拟合
clear
clc
x0 = -5:0.5:5
y0 = 1./(1+x0.^2)
x = -5:0.2:5
y1 = interp1(x0,y0,x,'linear')
y2 = interp1(x0,y0,x,'spline')
y3 = interp1(x0,y0,x,'nearest')subplot(2,2,1),plot(x0,y0,'r-p'),title('y=1/(1+x^2)')
subplot(2,2,2),plot(x0,y0,'r-',x,y1),title('linear')
subplot(2,2,3),plot(x0,y0,'r-',x,y2),title('spline')
subplot(2,2,4),plot(x0,y0,'r-',x,y3),title('nearst')
%%二维插值%%曲线拟合
clear
clc
clf
x = 0:0.1:1
y = [2.3,2.5,2.1,2.5,3.2,3.6,3.0,3.1,4.1,5.1,3.8]
p2 = polyfit(x,y,2)
p3 = polyfit(x,y,3)
p7 = polyfit(x,y,7)
disp('二次拟合曲线'),p2
disp('三次拟合曲线'),p3
disp('七次拟合曲线'),p7x1 = 0:0.1:1
y2 = polyval(p2,x1)
y3 = polyval(p3,x1)
y7 = polyval(p7,x1)
plot(x,y,'rp',x1,y2,'--',x1,y3,'k-',x1,y7)
legend('拟合点','二次拟合','三次拟合曲线','七次拟合')%%非线性最小二乘拟合
clear
clc
x0=[10,0.5]
x = lsqnonlin('ct',x0)
tt=0:0.2:8
yy=x(1).*exp(-x(2).*tt)
plot(tt,yy,'-rp')

MATLAB实现微积分基础知识(求导,积分,插值,曲线拟合,最小二乘)相关推荐

  1. 半小时入门MATLAB编程入门基础知识:

    https://learnxinyminutes.com/docs/zh-cn/matlab-cn/ 半小时入门MATLAB编程入门基础知识: % 以百分号作为注释符 %{ 多行注释 可以 这样 表示 ...

  2. Java基础知识思维导图

    Java基础知识思维导图 涉及基础语法.面向对象.数据结构.高级特性.异常处理.多线程.常用工具类.常用设计模式等. 初学者可参考.

  3. 深度强化学习基础知识 思维导图

    学习了王树森老师的深度强化学习入门课件,将各个算法整理在如下思维导图中. 深度强化学习基础知识 思维导图

  4. python基础知识思维导图-总结 Python 知识点思维导图

    本文主要涵盖了 Python 编程的核心知识(暂不包括标准库及第三方库). 按顺序依次展示了以下内容的一系列思维导图:基础知识,数据类型(数字,字符串,列表,元组,字典,集合),条件&循环,文 ...

  5. 大数据基础知识思维导图

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/u013816144/article/details/51511565 </div>< ...

  6. python基础知识思维导图总结

    今天给同学用思维导图整理了python基础知识,供大家复习参考学习,希望每天都有进步. 最后增加了列表推导式的案例和使用,学会了一定很香! 鸡汤几点: 没有目标永远不知道方向在哪? 不去尝试永远不知道 ...

  7. python写一个求导积分工具_方便快捷的求导求积分解方程在线工具sage介绍

    有时候我们需要进行一些复杂的数学计算,比如求导, 求积分,解方程,还是用abcd字母代表变量的方程等,这就需要进行复杂的数学运算还需要具备良好的数学基础.不过现在有一个非常方便的在线工具,只需要几秒钟 ...

  8. matlab拟合曲线后求导,高手留步:MATLAB五阶拟合函数,求导后离散化,输出结果是星号...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 程序如下: T=1978:1:2012; t1=1978:1:2012; 五阶拟合函数是f5=0.0049664*T^5-49.4903*T^4+1972 ...

  9. 福建省计算机一级应用技术基础知识,求福建省计算机一级考试的基础题

    Ⅱ.考试内容 一.信息社会与计算机 1.信息.信息技术及主要特性: 2.信息学科.计算科学的发展和研究领域: 3.计算机的发展.特点及应用: 4.计算机中信息的存储表示及计量单位: ⑴数制及十.二.八 ...

最新文章

  1. Rational Purify 使用及分析实例(转载)
  2. 手机与笔记本蓝牙配对
  3. linux内核 RCU机制概述
  4. 从零单排学Redis【铂金一】
  5. leetcode 141. 环形链表(快慢指针解法)
  6. stm32 PWM互补输出
  7. 缓存面试 - 为什么要用缓存?缓存使用不当会造成什么后果?
  8. css 滚动条样式_那些你总是记不住但又总是要用的css
  9. MVC应用程序与单选列表
  10. Redis详细安装教程与启动redis
  11. vue 基于 exceljs 导出 excel实战示例
  12. win10间歇性闪屏_手把手解决win10系统一直闪屏的技巧
  13. 计算小于100的最大素数
  14. 伟大的个性化主页:6种服务可替代iGoogle
  15. SAP介绍:概念、核心、开发语言、优缺点与集成
  16. Gradle使用Junit5进行test
  17. go之无缓冲channel(通道)和有缓冲channel(通道)
  18. java爬虫小说网项目_java爬虫之下载txt小说
  19. PDF用什么软件可以修改
  20. 20176408李俊 类与对象

热门文章

  1. 迭代器与生成器yield
  2. pageResponse - 让H5适配移动设备全家(移动端适配)1
  3. Linux大文件处理,伪分区
  4. java中Object类的hashCode和equals及toString方法。
  5. cpio.gz文件解压方法
  6. 当析构函数遇到多线程──C++ 中线程安全的对象回调
  7. pandas替换列值+1
  8. 爬取jd商城手机类商品图片
  9. PEAK6 2020校招OA
  10. 作为mwp 和real 不错的资料