matlab 的使用

1.3-2  输入一个矩阵行列式



1.3-3   输入一个分行行列式


1.3-4  MATLAB提示出现错误


1.3-5  用函数zeros生成全零矩阵


1.3-6  用函数eye生成单位矩阵


1.3-7  矩阵的加减运算


1.3-8  两个矩阵的乘法运算


1.3-9  矩阵的数乘运算


1.3-10  向量的点积


1.3-11  向量的叉乘

1.3-11  向量的叉乘

1.3-12  向量的混和积


1.3-13  左除和右除


1.3-14  矩阵的方阵


1.3-15  矩阵的转置


1.3-16  对奇异矩阵求逆时MATLAB给出的警告提示


1.3-17  用初等变换的方法求逆矩阵


1.3-18  以有理格式输出矩阵


demo例题

Predicting the us population

此程序展示了用matlab和图表,以及多项式来预测未来一些数据的发展趋势

%Time interval

t = (1900:10:2000)';

时间从1900到2000年时间间隔为10年

% Population

p = [75.995 91.972 105.711 123.203 131.669...

    150.697 179.323 203.212 226.505 249.633 281.422]';

人口数据

% Plot

plot(t,p,'bo');横坐标为时间,纵坐标为人口

axis([1900 2020 0 400]);坐标轴

title('Population of the U.S. 1900-2000');题目1900到2000年的人口

ylabel('Millions');单位Million3


找到一个合适的数据带入一个多项式中去预测2010年时的人口数,多项式的系数与一个11*11的矩阵行列式有关,并根据此行列式求解多项式系数,矩阵里的一些元素可以帮助计算时间A(i,j) = s(i)^(n-j);

n = length(t);

s = (t-1950)/50;

A = zeros(n);

A(:,end) = 1;

for j = n-1:-1:1, A(:,j) = s .* A(:,j+1);end

多项式的系数C是合适的数据P的D的系数,数据P是通过前一个D+1的线性行列式的微分方程系统得到的。

 A(:,n-d:n)*c ~= p

如果D小于10,那么还有比未知数和最小答案更适合的,如果D等于10,那么多项式可以被精确的求解,证明多项式确实插入了这个数据。另外的情况,是用matlab的反斜算方法解决的,这也就是立方拟合系数。

c = A(:,n-3:n)\p

c =

 

   1.2629

  23.7261

 100.3659

 155.9043

 

下面是计算了从1900年到2000年间坐标点。

v = (1900:2020)';

x = (v-1950)/50;

w = (2010-1950)/50;

y = polyval(c,x);

z = polyval(c,w);

 

hold on

plot(v,y,'k-');

plot(2010,z,'ks');

text(2010,z+15,num2str(z));

hold off


c = A(:,n-4:n)\p;

y = polyval(c,x);

z = polyval(c,w);

 

hold on

plot(v,y,'k-');

plot(2010,z,'ks');

text(2010,z-15,num2str(z));

hold off


随着程度的增加,这种推测越来越不稳定,呈现偏离的趋势

cla

plot(t,p,'bo'); hold on; axis([1900 2020 0400]);

colors = hsv(8); labels = {'data'};

for d = 1:8

  [Q,R] = qr(A(:,n-d:n));

   R= R(1:d+1,:); Q = Q(:,1:d+1);

   c= R\(Q'*p);

   %Same as c = A(:,n-d:n)\p;

   y= polyval(c,x);

   z= polyval(c,11);

  plot(v,y,'color',colors(d,:));

  labels{end+1} = ['degree = ' int2str(d)];

end

legend(labels,2)





评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值