【西电-应用数值分析第三章(3.1,3.2,3.3)实验题答案分享】

西电-应用数值分析第三章(3.1,3.2,3.3)实验题答案分享

题3_1

syms x;
Tnx = [1,x,x^2,x^3];
A = zeros(length(Tnx));
B = zeros(1,length(Tnx));
B = B';
%生成矩阵 A
for i = 1:length(Tnx)
for j = 1:length(Tnx)
aa = int(Tnx(i)*Tnx(j),x,-1,1);
A(i,j) = aa;
end
end
%生成向量 b
y=cos(x);
for i = 1:length(Tnx)
bb=int(Tnx(i)*y,-1,1);
B(i) = bb;
end
alp = inv(A)*B;
S=0;
%合成逼近多项式
for k = 1:length(Tnx)
S = S+alp(k)*Tnx(k);
end
S=vpa(S,6) %结果以小数点后 6 位输出

输出如下:

S =
0.996559 - 0.465263*x^2

题3_2

syms x;syms t;syms a;
data=[0.25,0.5,1,1.5,2,3,4,6,8;
19.21,18.15,15.36,14.1,12.89,9.32,7.45,5.24,3.01];
Tnt = [1,t];
Tnx = [ones(1,length(data));data(1,:)];
A = zeros(2);
B = zeros(1,2);
B = B';
%生成矩阵 A
for i = 1:2
for j = 1:2
aa = sum(Tnx(i,:)*Tnx(j,:)');
A(i,j) = aa;
end
end
%生成向量 b
yy=log(data(2,:));
for i = 1:2
bb = sum(yy*Tnx(i,:)');
B(i) = bb;
end
alp = inv(A)*B;
S=0;
%合成逼近多项式
for k = 1:2
S = S+alp(k)*Tnt(k);
end
disp('血浓度与时间近似表达式:');
exp(S)
t=0:0.01:8;
scatter(data(1,:),data(2,:),36,'k','filled');
hold on;
plot(t,eval(exp(S1)),'LineWidth',1)

输出如下:

血浓度与时间近似表达式:
ans =
exp(6742510587703509/2251799813685248 -
(2114153570709255*t)/9007199254740992)

在这里插入图片描述
题3_3

syms x;syms t;syms a;
data=[0,0.9,1.9,3.0,3.9,5.0;
0,10,30,50,80,110];
Tnt = [1,t,t^2];
Tnx =
[ones(1,length(data));data(1,:);data(1,:).*data(1,:)];
A = zeros(3);
B = zeros(1,3);
B = B';
%生成矩阵 A
for i = 1:3
for j = 1:3
aa = sum(Tnx(i,:)*Tnx(j,:)');
A(i,j) = aa;
end
end
%生成向量 b
yy=data(2,:);
for i = 1:3
bb = sum(yy*Tnx(i,:)');
B(i) = bb;
end
alp = inv(A)*B;
S=0;
%合成逼近多项式
for k = 1:3
S = S+alp(k)*Tnt(k);
end
disp('运动方程如下:');
vpa(S,6)
t=0:0.01:5;
scatter(data(1,:),data(2,:),36,'k','filled');
hold on;
plot(t,eval(S),'LineWidth',1)

输出如下:

运动方程如下:
ans =
2.24881*t^2 + 11.0814*t - 0.583365

完成!

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值