热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Matlab实现工程与科学问题-第三章个人解析

作为一名在读大学生,本文分享了我对《工程与科学中的Matlab应用》第三章习题的个人解决方案。欢迎通过私信或评论进行交流和讨论,但不接受任何形式的权威指导。文中提供了详细的代码实现,旨在促进学习和共同进步。

作为一名在读大学生,本文分享的是我个人对《工程与科学中的Matlab应用》第三章习题的理解和解决方法。欢迎通过私信或评论进行交流和讨论,但不接受任何形式的权威指导。为了便于阅读和学习,本文仅提供代码实现,而不展示运行结果。随着学习的深入,部分内容可能会有所调整,敬请期待更新。


3.1



function V = Volume(R, d)
% Volume(R, d) 计算给定半径R和高度d的圆柱形容器内液体的体积
% d 为液体高度,R 为圆柱体的半径
if d <= R
V = 1/3 * pi * R^2 * d;
elseif d > 3 * R
error('水位过高');
else
V = 1/3 * pi * R^2 * R + pi * R^2 * (d - R);
end


3.2


function F = futureworth(P, i)
% futureworth 计算初始金额P在特定利率i下的未来价值
% P 为本金,i 为年利率
n = 1:10;
P = input('请输入本金: ');
i = input('请输入年利率: ');
F = P * (1 + i).^n;
z = [n; F];
fprintf(' 年数 未来价值\n');
fprintf('%5d %10.3f\n', z);
end


3.3


function A = loanPayment(P, i)
% loanPayment 根据贷款金额P和年利率i计算年度还款额
n = 1:5;
P = input('请输入贷款金额: ');
i = input('请输入年利率: ');
A = P * (i * (1 + i).^n) ./ ((1 + i).^n - 1);
z = [n; A];
fprintf(' 年数 还款额\n');
fprintf('%5d %8.3e\n', z);
end


3.4


function [] = averageTemp(Tmean, Tpeak)
% averageTemp 计算年平均温度和峰值温度下某段时间内的温度变化
% Tmean 为年平均温度,Tpeak 为峰值温度
t = 180:242;
w = 0.017;
Tmean = input('请输入年平均温度: ');
Tpeak = input('请输入峰值温度: ');
T = Tmean + (Tpeak - Tmean) .* cos(w * (t - 205));
end


3.5


function [] = sinApproximation(x)
% sinApproximation 使用泰勒级数近似计算sin(0.9)
Q = sin(0.9);
V1 = x;
wucha1 = (Q - V1) / Q;
percentage1 = sprintf('%2.5f%%', abs(wucha1 * 100));
yijie = sprintf('%2.5f', V1);
V2 = x - x^3 / factorial(3);
wucha2 = (Q - V2) / Q;
percentage2 = sprintf('%2.5f%%', abs(wucha2 * 100));
erjie = sprintf('%2.5f', V2);
V3 = V2 + x^5 / factorial(5);
wucha3 = (Q - V3) / Q;
percentage3 = sprintf('%2.5f%%', abs(wucha3 * 100));
sanjie = sprintf('%2.5f', V3);
V4 = V3 - x^7 / factorial(7);
wucha4 = (Q - V4) / Q;
percentage4 = sprintf('%2.5f%%', abs(wucha4 * 100));
sijie = sprintf('%2.5f', V4);
V5 = V4 + x^9 / factorial(9);
wucha5 = (Q - V5) / Q;
percentage5 = sprintf('%2.8f%%', abs(wucha5 * 100));
wujie = sprintf('%2.5f', V5);
V6 = V5 - x^11 / factorial(11);
wucha6 = (Q - V6) / Q;
percentage6 = sprintf('%2.9f%%', abs(wucha6 * 100));
liujie = sprintf('%2.5f', V6);
V7 = V6 + x^13 / factorial(13);
wucha7 = (Q - V7) / Q;
percentage7 = sprintf('%2.15f%%', abs(wucha7 * 100));
qijie = sprintf('%2.5f', V7);
V8 = V7 - x^15 / factorial(15);
wucha8 = (Q - V8) / Q;
percentage8 = sprintf('%2.16f%%', abs(wucha8 * 100));
bajiejie = sprintf('%2.5f', V8);
end


3.6


(此处省略图片)


3.7


function [] = coordinateConversion()
% coordinateConversion 将直角坐标系下的点转换为极坐标系下的表示
x = [2; 2; 0; -3; -2; -1; 0; 0; 2];
y = [0; 1; 3; 1; 0; -2; 0; -2; 2];
r = sqrt(x.^2 + y.^2);
theta = atan2(y, x);
q = [x, y, r, theta];
fprintf(' x y r theta\n');
fprintf('%5d %5d %8.5f %8.6f\n', q);
end


3.8


function lettergrade(score)
% lettergrade 根据分数score返回相应的字母等级
if score >= 90
disp('A');
elseif score >= 80
disp('B');
elseif score >= 70
disp('C');
elseif score >= 60
disp('D');
else
disp('F');
end
end


3.9


function speed()
% speed 计算不同条件下的流速
n = [0.036, 0.020, 0.015, 0.030, 0.022];
S = [0.0001, 0.0002, 0.0012, 0.0007, 0.0003];
B = [10, 8, 20, 25, 15];
H = [2, 1, 1.5, 3, 2.6];
U = (sqrt(S) ./ n) .* ((B .* H) ./ (B + 2 * H)).^(2/3);
fprintf('n S B H U\n');
fprintf('%4.3f %5.4f %2d %2.1f %5.4f\n', [n; S; B; H; U]);
end


3.10


function displace()
% displace 计算并绘制给定区间的位移曲线
x = 0:9;
y = ((57/6)*x.^3 - 238.25*x) .* (x == 0) + ...
((-5/6)*x.^4 + (57/6)*x.^3 - 238.25*x) .* (x > 0 & x <= 5) + ...
((-5/6)*(x.^4 - (x - 5).^5) + (57/6)*x.^3 - 238.25*x) .* (x > 5 & x <= 7) + ...
((-5/6)*(x.^4 - (x - 5).^5) + 75*(x - 7).^2 + (57/6)*x.^3 - 238.25*x) .* (x > 7 & x <= 8);
plot(x, y);
end


推荐阅读
  • 前言--页数多了以后需要指定到某一页(只做了功能,样式没有细调)html ... [详细]
  • 本文详细解析了Python中的os和sys模块,介绍了它们的功能、常用方法及其在实际编程中的应用。 ... [详细]
  • 本文介绍了在Windows环境下使用pydoc工具的方法,并详细解释了如何通过命令行和浏览器查看Python内置函数的文档。此外,还提供了关于raw_input和open函数的具体用法和功能说明。 ... [详细]
  • 尽管使用TensorFlow和PyTorch等成熟框架可以显著降低实现递归神经网络(RNN)的门槛,但对于初学者来说,理解其底层原理至关重要。本文将引导您使用NumPy从头构建一个用于自然语言处理(NLP)的RNN模型。 ... [详细]
  • 实体映射最强工具类:MapStruct真香 ... [详细]
  • 本文探讨了如何通过一系列技术手段提升Spring Boot项目的并发处理能力,解决生产环境中因慢请求导致的系统性能下降问题。 ... [详细]
  • Keras 实战:自编码器入门指南
    本文介绍了使用 Keras 框架实现自编码器的基本方法。自编码器是一种用于无监督学习的神经网络模型,主要功能包括数据降维、特征提取等。通过实际案例,我们将展示如何使用全连接层和卷积层来构建自编码器,并讨论不同维度对重建效果的影响。 ... [详细]
  • 在Win10上利用VS2015构建Caffe2环境
    本文详细介绍如何在Windows 10操作系统上通过Visual Studio 2015编译Caffe2深度学习框架的过程。包括必要的软件安装、环境配置以及常见问题的解决方法。 ... [详细]
  • 作为一名专业的Web前端工程师,掌握HTML和CSS的命名规范是至关重要的。良好的命名习惯不仅有助于提高代码的可读性和维护性,还能促进团队协作。本文将详细介绍Web前端开发中常用的HTML和CSS命名规范,并提供实用的建议。 ... [详细]
  • 本题旨在通过给定的评级信息,利用拓扑排序和并查集算法来确定全球 Tetris 高手排行榜。题目要求判断是否可以根据提供的信息生成一个明确的排名表,或者是否存在冲突或信息不足的情况。 ... [详细]
  • 自己用过的一些比较有用的css3新属性【HTML】
    web前端|html教程自己用过的一些比较用的css3新属性web前端-html教程css3刚推出不久,虽然大多数的css3属性在很多流行的浏览器中不支持,但我个人觉得还是要尽量开 ... [详细]
  • 本文探讨了如何在日常工作中通过优化效率和深入研究核心技术,将技术和知识转化为实际收益。文章结合个人经验,分享了提高工作效率、掌握高价值技能以及选择合适工作环境的方法,帮助读者更好地实现技术变现。 ... [详细]
  • 本文介绍了在MacOS上通过Homebrew安装Anaconda3,并配置环境变量以实现不同Python版本之间的快速切换。同时,提供了详细的步骤来创建和管理多个Python环境。 ... [详细]
  • 本文详细探讨了在微服务架构中,使用Feign进行远程调用时出现的请求头丢失问题,并提供了具体的解决方案。重点讨论了单线程和异步调用两种场景下的处理方法。 ... [详细]
  • 本文将详细介绍NSRunLoop的工作原理,包括其基本概念、消息类型(事件源)、运行模式、生命周期管理以及嵌套运行等关键知识点,帮助开发者更好地理解和应用这一重要技术。 ... [详细]
author-avatar
Li-zHihuAn
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有