目录
实验1 Matlab基本知识
1.1 画图
代码如下:
clc,clear all % 清空命令行窗口和程序已产生的变量
% 函数1
x1 = -20:0.01:20;
y1 = x1.^3 + 2*x1.^2 - 3*x1+4;
% 函数2
t = 0:0.01:2*pi;
r = cos(2.*t);
% 函数3
t = 0:0.01:2*pi;
x3 = (1+sin(t)-2.*cos(4*t)).*cos(t);
y3 = (1+sin(t)-2.*cos(4*t)).*sin(t);
% 函数4
x4 = -20:0.01:20;
y4 = sin(x4) + sin(2*x4);
%% 画图
figure('position',[80,80,700,700]) % 图的坐标是(80,80),大小是700x700
% 画函数1的图像
subplot(221) % 在第1个位置画图
plot(x1,y1,'r');
title('f(x)=x^{3}+2x^{2}-3x+4') % 标题中含有上标
xlabel('x')
ylabel('f(x)')
grid on % 使用网格线
set(gca,'GridLineStyle',':','GridColor','k','GridAlpha',1); % 把网格线变成虚线
% 画函数2的图像
subplot(222) % 在第2个位置画图
polar(t,r,'r'); % 该函数用于画极坐标
title('r=cos2\Theta') % 标题中含有特殊字符
% 画函数3的图像
subplot(223) % 在第3个位置画图
plot(x3,y3);
title({'参数方程:';'x=(1+sint-2cos4t)cost';'y=(1+sint-2cos4t)sint'}); % 标题中有换行
xlabel('x')
ylabel('y')
grid on % 使用网格线
set(gca,'GridLineStyle',':','GridColor','k','GridAlpha',1); % 把网格线变成虚线
subplot(224) % 在第4个位置画图
plot(x4,y4);
title('y=sinx+sin2x')
xlabel('x')
ylabel('y')
grid on % 使用网格线
set(gca,'GridLineStyle',':','GridColor','k','GridAlpha',1); % 把网格线变成虚线
图像如下:
1.2 迭代法求平方根
代码如下:
function f = a_sqrt(a)
x = a;
f = (x+a./x)./2;
while abs(f-x) > 0.00001
x=f;
f = (x+a./x)./2;
end
运行结果截图:
实验2 数据拟合
2.1 调和级数的数据拟合
(1) 代码:
函数文件:
% 该函数是Sn表达式
function sum = Sn( n )
sum = 0;
for i = 1:n
sum = sum + 1/i;
end
end
脚本文件:
clc,clear all
Sn_val = []; % Sn_val存储的是Sn数列中的每个值
for n=1:1000 % 取1000个数
sn_val = Sn(n);