matlab基础学习7

矩阵组合的一些事情

%%
x=1:10;    
y=2:2:20;   
A=[x;y]    

在这里插入图片描述

%%
x=1:10;    
y=2:2:20;   
A=[x;y]'      %进行转置

在这里插入图片描述
进一步

%%
x=[1 2 3 ;4 5 6];    
y=[12 0  7;9 3 8];   
A=[x;y]

在这里插入图片描述

%%
x=[1 2 3 ;4 5 6];    
y=[12 0  7;9 3 8];   
A=[x;y]'进行转置

在这里插入图片描述
横向组合:

%%
x=[1 2 3 ;4 5 6];    
y=[12 0  7;9 3 8];   
A=[x, y]    %不用逗号,用个空格也行

在这里插入图片描述

sort函数

详细用法

rand函数

rand函数
官方文档

匿名函数

基本格式:

handle = @(arglist)anonymous_function

arglist为匿名函数的输入参数,可以是一个,也可以是多个,用逗号分隔。
anonymous_function为匿名函数的表达式。

数据拟合

发现事物潜在的一般规律

多项式拟合函数 polyfit(x,y,n)
x,y为样本数据
n是拟合的次数

%%
x=1790:10:2010;
y=[3.9,5.3,7.2,9.6, 12.9,17.1 ,23.2,31.4,38.6,50.2, ...
    63.0,76.0,92.0,105.7,122.8,131.7, ...
    150.7,179.3,203.2,226.5,248.7,281.4,308.7];
plot(x,y,'*');      %画出散点图
p=polyfit(x,y,3);    %进行三次多项式拟合,将系数向量保存在p中
polyval(p,2020)        %多项式求值,预测2020年的人口数量
plot(x,y,'*' ,x,polyval(p,x),'r');     %画出拟合曲线

2020年的预测人口
在这里插入图片描述
拟合曲线:
在这里插入图片描述

数值微分

一些概念:

向前差分,向后差分和中心差分 ~~微分
向前差商,向后差商和中心差商 ~~导数

对向量:

>> mk=[2 3 7 9];
>> z=diff(mk)
z =

     1     4     2

就是向前差分,z(1)=mk(2)-mk(1)
z(2)=mk(3)-mk(2)
z(3)=mk(4)-mk(3)

相比较向量mk而言,z向量少了一个元素

对矩阵:
就是一列一列的,diff后的矩阵与原矩阵比较少了一行
详细说明

数值积分

以后有兴趣再补充吧。。。

非线性方程求解

1.单变量非线性方程求解
fzero(函数名,x0)
x0为搜索起点
fzero函数只会给出离x0最近的那个根
2.非线性方程组的求解
fsolve(函数名,[x0,yo],options)
设置options=optimset(‘display’,‘off’)
函数调用时不显示中间结果

下面给出一个实例:

例2求下列方程组在(1,1,1)附近的解并对结果进行验证。
sin(x)+y+z2ex=0
x+y+z=0
xyz=0

%%
f=@(x)[sin(x(1))+x(2)+x(3)^2*exp(x(1)),x(1)+x(2)+x(3),x(1)*x(2)*x(3)];
x=fsolve(f,[1,1,1],optimset('display','off'));
disp(x)    %x中第一个值就是x,第二个值是y,第三个值是z
disp(f(x))

输出:
在这里插入图片描述

求函数极值

无约束极值问题

[xmin,ymin]=fminbnd(函数名,x1,x2,options)
(这个取得的是局部最优解)
一元函数在(x1,x2)区间中的极小值点xmin和极小值ymin
[xmin,ymin]=fminsearch/fminunc(函数名,x0,options)
多元函数的极小值点和极小值

(无约束问题举例)

求多元函数f(x,y)=x3-y3+3x2+3y2-9x的极值

%%
clear
f=@(x)x(1)^3-x(2)^3+3*x(1)^2+3*x(2)^2-9*x(1);
g=@(x)-f(x);    %g(x)= —f(x)
[xmin,ymin]=fminunc(f,rand(2,1))   %求极小值点
[xmax,ymax]=fminsearch(g,rand(2,1)) %求极大值点
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值