热门标签 | 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项目的并发处理能力,解决生产环境中因慢请求导致的系统性能下降问题。 ... [详细]
  • Explore how Matterverse is redefining the metaverse experience, creating immersive and meaningful virtual environments that foster genuine connections and economic opportunities. ... [详细]
  • ImmutableX Poised to Pioneer Web3 Gaming Revolution
    ImmutableX is set to spearhead the evolution of Web3 gaming, with its innovative technologies and strategic partnerships driving significant advancements in the industry. ... [详细]
  • 作为一名专业的Web前端工程师,掌握HTML和CSS的命名规范是至关重要的。良好的命名习惯不仅有助于提高代码的可读性和维护性,还能促进团队协作。本文将详细介绍Web前端开发中常用的HTML和CSS命名规范,并提供实用的建议。 ... [详细]
  • JavaScript实现表格数据的实时筛选功能
    本文介绍如何使用JavaScript实现对表格数据的实时筛选,帮助开发者提高用户体验。通过简单的代码示例,展示如何根据用户输入的关键字动态过滤表格内容。 ... [详细]
  • 自己用过的一些比较有用的css3新属性【HTML】
    web前端|html教程自己用过的一些比较用的css3新属性web前端-html教程css3刚推出不久,虽然大多数的css3属性在很多流行的浏览器中不支持,但我个人觉得还是要尽量开 ... [详细]
  • 探索电路与系统的起源与发展
    本文回顾了电路与系统的发展历程,从电的早期发现到现代电子器件的应用。文章不仅涵盖了基础理论和关键发明,还探讨了这一学科对计算机、人工智能及物联网等领域的深远影响。 ... [详细]
  • 并发编程 12—— 任务取消与关闭 之 shutdownNow 的局限性
    Java并发编程实践目录并发编程01——ThreadLocal并发编程02——ConcurrentHashMap并发编程03——阻塞队列和生产者-消费者模式并发编程04——闭锁Co ... [详细]
  • 本文介绍了在MacOS上通过Homebrew安装Anaconda3,并配置环境变量以实现不同Python版本之间的快速切换。同时,提供了详细的步骤来创建和管理多个Python环境。 ... [详细]
  • 本文详细探讨了在微服务架构中,使用Feign进行远程调用时出现的请求头丢失问题,并提供了具体的解决方案。重点讨论了单线程和异步调用两种场景下的处理方法。 ... [详细]
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社区 版权所有