【陕西理工大学-数学软件实训】数学实验报告(8)(数值微积分与方程数值求解)

目录

一、实验目的

二、实验要求

三、实验内容与结果

四、实验心得 


一、实验目的

1. 掌握求数值导数和数值积分的方法。
2. 掌握代数方程数值求解的方法。
3. 掌握常微分方程数值求解的方法。

二、实验要求

1. 根据实验内容,编写相应的MATLAB程序,并将程序及结果放置于相应位置。
2. 实验内容与结果采用小四号宋体、1.5倍行距进行排版,其中图片的宽度不超过8cm。

三、实验内容与结果

1. 求函数在指定点的数值导数:

解:

MATLAB代码:
    syms x 
  
% 创建一个3x3矩阵,其中x是参数  
A = [x, x^2, x^3;   
       1, 2*x, 3*x^2;   
        0, 2, 6*x];  
  
% 计算行列式  
det_A = det(A);  
  
% 展开行列式为函数  
function_det = simplify(det_A);

% 求导数  
df = diff(function_det,x);
  
% 输出导数  
disp(df)
 输出结果为:6*x^2
因此在x = 1时导数为6,x = 2,导数为24,x = 3,导数为54.

 2. 用数值方法求定积分。

解: MATLAB代码: f = inline('sqrt(cos(t.^2)+4*sin(2*t).^2+1)'); I1 = quad(f,0,2*pi)   g = inline('log(1+x)./(1+x.^2)'); I2 = quad(g,0,1) 输出结果:

 3. 求代数方程的数值解。

(1):

function g=f(x)

g=3*c+sin(x)-exp(x);

求解: clc;clear; fzero(f,1.5)

结果:

(2)

function F=fun(X)
x=X(1);
y=X(2);
z=X(3);
F(1)=sin(x)+y^2+log(z)-7;
F(2)=3*x+2-z^3+1;
F(3)=x+y+z-5;
end

求解:

X=fsolve('fun',[1,1,1],optimset('Display',off))
输出结果:

4. 求函数在指定区间的极值。

解:function f=g(u)  
    a=u(1);  
    y=u(2);  
    x=a; % assuming x is meant to be the same as a  
    f=2*x.^3+4*x.*y.^3-10*x.*y+y.^2;  
end  

clc;  
clear;  
format long;  
f=inline('(x^3+cos(x)+x*log(x))/exp(x)');
[x,fmin1]=fminbnd('f',0,1)
[U,fmin2]=fminsearch('g',[0,0])

  输出结果:

四、实验心得 

数值积分可以用来计算函数的近似值,而数值导数则可以用来寻找函数的局部极值点。通过使用这些方法,我们可以更好地理解和分析各种复杂的现象。学到了如何利用计算机程序找到方程的近似解。(仅供参考)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/82204.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ChatGLM DeepSpeed/P-Tuning v2 调参

之前尝试了基于ChatGLM-6B使用LoRA进行参数高效微调,本文给大家分享使用DeepSpeed和P-Tuning v2对ChatGLM-6B进行微调,相关代码放置在GitHub上面:llm-action。 ChatGLM-6B简介 ChatGLM-6B相关的简介请查看之前的文章,这里不再赘述。 P-Tuning v2简介 P-Tuning是一种较新…

构建工具vite/webpack

一、vite 快速开始 全局安装vite npm i -g vite创建vite npm create vite安装依赖 npm i运行项目 npm run dev 二、webpack 1、使用步骤 初始化项目npm init -y安装依赖webpack、webpack-cli在项目中创建src目录,然后编写代码(默认主文件index.js&a…

Linux常用工具

文章目录 前言一、Linux编辑器-vim使用1.vim的基本概念2. vim的基本操作3. vim命令集1. 正常模式1. 模式切换和光标移动2. 删除文字及复制3. 其他操作 2. 底行模式 二、Linux编译器-gcc/g使用1. 命令和选项2. 预处理3. 编译4. 汇编(生成机器可识别代码)5. 连接(生成可执行文件或…

Docker 部署 MongoDB 服务

拉取最新版本的 MongoDB 镜像: $ sudo docker pull mongo:latest在本地预先创建好 db 和 configdb 目录, 用于映射 MongoDB 容器内的 /data/db 和 /data/configdb 目录。 使用以下命令来运行 MongoDB 容器: $ sudo docker run -itd --name mongo --privilegedtru…

C#webform Static DataTable 多人同时操作网页数据重复问题

在C# Web Forms中,如果声明一个static变量,它将在整个应用程序域(Application Domain)中保持持久化状态。每个用户的请求都在同一个应用程序域中处理,因此static变量在不同页面间保持相同的值。 当一个用户发起请求时…

LCP 02.分式化简

​​题目来源: leetcode题目,网址:110. 平衡二叉树 - 力扣(LeetCode) 解题思路: 模拟分式计算过程即可。 解题代码: class Solution {public int[] fraction(int[] cont) {if(cont.length1){…

JPEG算法及例程

JPEG(Joint Photographic Experts Group)是一种常见的图像压缩算法,用于减小图像文件的大小。它是一种有损压缩算法,即通过牺牲一定的图像质量来实现压缩。 以下是一个简单的JPEG压缩算法的例程: 将输入图像转换为YUV…

抖音seo矩阵系统源代码分享

技术开发注意事项: 确定业务需求:在开发前,需要明确抖音矩阵系统的业务需求,了解用户的需求和使用习惯,明确系统的功能、性能和安全需求。 选择合适的技术方案:根据系统的需求和复杂度,选择合适…

ibevent 定制——libevent 定制内存分配

libevent 定制内存分配 默认情况下,libevent 使用 C 库的内存管理函数在堆上分配内存。通过提供 malloc、realloc和 free 的替代函数,可以让 libevent 使用其他的内存管理器。希望 libevent 使用一个更高效的分配器时;或者希望 libevent 使用一个工具分配器,以便检查内存泄漏时…

有多条业务线,mysql建多库多表比较好还是一个库多个表比较好呢?

选择使用多库多表还是一个库多个表,取决于你的具体情况和需求。以下是一些考虑因素: 数据隔离:如果每条业务线需要完全独立的数据隔离,例如不同业务线的数据不会相互关联或共享,那么使用多库可以更好地实现数据隔离。 …

JavaWeb 学习笔记 3:Servlet

JavaWeb 学习笔记 3:Servlet 1.简介 Servlet 是 JavaEE 定义的一套 Web 应用开发标准(接口),实现了该技术的 Web 服务器软件(如 Tomcat)上可以运行一个 Servlet 容器,只要我们使用 Servlet 技…

Python 移动文件到指定路径

需求:将指定的文件从指定目录移动到用户指定的目标目录。 shutil 是 Python 标准库中的一个模块,它提供了许多文件和文件集合的高级操作。基本上,它可以帮助我们执行文件操作,例如复制、移动、更名和删除。它旨在与 os 模块一起使…

【测试开发】基础篇 · 专业术语 · 软件测试生命周期 · bug的描述 · bug的级别 · bug的生命周期 · 处理争执

【测试开发】基础篇 文章目录 【测试开发】基础篇1. 软件测试生命周期1.1 软件生命周期1.2 软件测试生命周期 2. 描述bug3. 如何定义bug的级别3.1 为什么要对bug进行级别划分3.2 bug的一些常见级别 4. bug的生命周期5. 产生争执这么怎么办(处理人际关系)…

ChatGPT:URL编码问题——如何正确进行URL编码以处理特殊字符

ChatGPT:URL编码问题——如何正确进行URL编码以处理特殊字符 报错: URISyntaxException: Malformed escape pair at index 192: http://Center/Question/questionList.html?seaKey%E6%8D%AE%E7%BB%9F%E8%AE%A1%EF%BC%8C%E5%9B%A0%E7%81%AB%E7%81%BE%E6%…

服务器数据恢复-LINUX操作系统下各文件系统误删除/格式化数据的恢复方案

服务器数据恢复环境: 基于EXT2/EXT3/EXT4/Reiserfs/Xfs文件系统的Linux操作系统。 服务器故障: LINUX操作系统下误删除/格式化数据。 服务器数据恢复过程: 1、首先会检测服务器是否存在硬件故障,如果检测出硬件故障,交…

Linux之jar包之启动与停止脚本

Linux之jar包之启动与停止脚本 一、使用说明二、脚本代码 一、使用说明 启动 ./service.sh start关闭 ./service.sh stop二、脚本代码 #!/bin/bash #这里可替换为你自己的执行程序,其他代码无需更改 APP_NAMEmxy_system-0.0.1-SNAPSHOT.jar # shellcheck disabl…

9.18算法

机器人重物1126 注意编号是方块的,而不是格点的 及如果为n*m的矩阵,需要开(n1)*(m1)的矩阵 //如果没有转向,就是走迷宫,结合记忆化,如果这个点之前走过就不走了 //又转向的话,就用一个变量记录当前转向&…

量化分析革新金融服务软件的三种方式

金融服务软件行业爱死量化分析了。 为什么呢?因为在这个本质上不可预测的行业中,量化分析提供了一种确定性,或者至少是类似于确定性的东西。 市场总是在变动,利润也起伏不定。交易达成了,然后落空,又再次…

Golang Linux 安装与环境变量配置

下载 Go 二进制包 wget https://dl.google.com/go/go1.21.1.linux-amd64.tar.gz 解压文件并将其移至 /usr/local 目录 sudo tar -C /usr/local -xzf go1.20.1.linux-amd64.tar.gz -C 选项解压文件到 /usr/local 目录,查看 /usr/local/go 目录的内容 将 Go 二进…

19 视图定义 union 是根据第一个 select 字段列表顺序,来进行 merge 的

前言 这个问题主要是 在之前存在这样的一个问题, 在生产环境上面 按照 我的直观理解, mysql 应该是根据 key 进行 merge, 所以 select 的顺序应该是 “不重要”??, 但是 结果我理解错了 然后 线上的查询也出现了问题, 发现很奇怪的问题, 明明 key01 列 是 id, 但是有一部…