华工历次数学实验源代码

这篇博客详细介绍了四个数学实验,包括使用Matlab进行画图、迭代法求平方根、数据拟合和微分方程求解。实验还涉及缉私船追赶走私船的动态模拟和Koch雪花的迭代绘制,展示了数学在实际问题中的应用和美丽分形的生成过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

目录

实验1 Matlab基本知识

1.1 画图

1.2 迭代法求平方根 

实验2 数据拟合

2.1 调和级数的数据拟合

2.2 人口数量拟合与预测

实验3 微分方程

3.1 dsolve函数求解微分方程的解析解

3.2 缉私船追赶走私船

实验4 迭代与分形

4.1 Koch雪花


实验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);
   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值