实验九 数据微积分与方程数值求解(matlab)

news2024/7/4 5:34:42

实验九 数据微积分与方程数值求解

1.1实验目的

1.2实验内容

1.3流程图

1.4程序清单

1.5运行结果及分析

1.6实验的收获与体会

1.1实验目的

1,掌握求数值导数和数值积分的方法;

2,掌握代数方程数组求解的方法;

3,掌握多常微分方程数值求解的方法。

1.2实验内容

1.3流程图

1.4程序清单

%%

clc

clear

%% 1

clear;clc

x=1;i=1;

f=inline('det([x x.^2 x.^3;1+0*x 2*x 3*x.*x;0*x 2+0*x 6*x])');

while x<=3.01

    g(i)=f(x);

    i=i+1;

    x=x+0.01;

end

g;

dx=diff(g)/0.01;

f1=dx(1)

f2=dx(101)                                    

f3=dx(length(g)-1)

%% 2

clear

g1=inline('sqrt(cos(t.^2)+4*(sin(2.*t)).^2+1)');

g2=inline('log(1+x)./(1+x.^2)');

I1=quadl(g1,0,2*pi);

I2=quadl(g2,0,1);

%% 3

clear

A=[6 5 -2 5;

    9 -1 4 -1;

    3 4 2 -2;

    3 -9  0 2];

b=[-4 13 1 11]';

x(:,1)=A\b;

[L,U]=lu(A);

x(:,2)=U\(L\b);

[Q,R]=qr(A);

x(:,3)=R\(Q\b);

%% 4

clear

A=[2 7 3 1;

    3 5 2 2;

    9 4 1 7];

b=[6 4 2]';

[x,y]= line_solution(A,b)

%% 5

clear

f=inline('3*x+sin(x)-exp(x)');

root_near=fzero(f,1.5);

X=fsolve('myfun',[1,1,1],optimset('Display','off'))

%% 6

clear

f=inline('(x^3+cos(x)+x*log10(x))/exp(x)');

[x,fval]=fminbnd(f,0,1);

[U,fmin]=fminsearch('fxy',[0,0]);

%% 7

clear

[x,y]=ode45('sys',[eps,10000],[eps,eps])

plot(x,y(:,1))

%% 8

clear

[T,Y]=ode45('rigid',[0 12],[0 1 1]);

plot(T,Y(:,1),'-',T,Y(:,2),'*',T,Y(:,3),'+');

相关函数:

function f = fj( x )

%UNTITLED3 此处显示有关此函数的摘要

%   此处显示详细说明

f=[x x^2 x^3;1 2*x 3*x^2; 0 2 6*x];

end

function [S_H, S_P] = line_solution(A,b)

% 输入参数A:系数矩阵

% 输入参数b:Ax=b的常数项列向量b

% S_H:齐次线性方程组的基础解系

% S_P:非齐次线性方程组的特解

if size(A,1) ~= length(b)   %size(A,1)求矩阵的行数

    error('输入数据错误,请重新输入!');

    return;

else

    B = [A,b];  %增广矩阵

    rank_A = rank(A);   %求系数矩阵的秩

    rank_B = rank(B);   %求增广矩阵的秩

    if rank_A ~= rank_B %无解情况

        disp('线性方程组无解!');

        S_H = [];

        S_P = [];

    else if rank_B == size(A,2) %若增广矩阵的秩 = 未知量个数

            %size(A,2)求矩阵的列数,相当于length(A)

            disp('线性方程组有唯一解!');

            S_P = A\b;  %求唯一解

            S_H = [];

        else

            disp('线性方程组有无穷解!');

            S_H = null(A,'r');%求出齐次方程组的基础解系

            S_P = A\b;  %求非齐次方程组的特解

        end

    end

end

function F = myfun( X )

%UNTITLED6 此处显示有关此函数的摘要

%   此处显示详细说明

x=X(1);y=X(2);z=X(3);

F(1)=sin(x)+y^2+log(z);

F(2)=3*x+z^y-z^3+1;

F(3)=x+y+z-5;

end

function f = fxy( u )

%UNTITLED7 此处显示有关此函数的摘要

%   此处显示详细说明

x=u(1);y=u(2);

f=2*x^3+4*x*y^3-10*x*y+y^2;

end

function xdot =sys( x,y )

%UNTITLED8 此处显示有关此函数的摘要

%   此处显示详细说明

xdot=[y(2);(5*y(2)-y(1))/x];

end

function dy = rigid( t,y)

%UNTITLED10 此处显示有关此函数的摘要

%   此处显示详细说明

dy=zeros(3,1);

dy(1)=y(2)*y(3);

dy(2)=y(1)*y(3);

dy(3)=-0.51*y(2)*y(1);

end

1.5运行结果及分析

1. 

2.

3.

4.x的列向量乘以一个常数加上y就是通解。

5.

6.

7.可以看出结果发散。

8.

1.6实验的收获与体会

本次实验过后,我掌握了求数值导数和数值积分的方法和代数方程数组求解的方法,同时也掌握多常微分方程数值求解的方法。

数据微积分与方程数值求解是特别有用的工具。微积分的数值解法可以满足工程领域的需要,方程数值求解也可以满足一些需要。而往往工程问题都是不容易直接得出解析解的,那么这种情况,就需要使用数值解法来进行计算。虽然说有误差,但是这些误差都是实际践行中可以被接受和使用的。各种方法在matlab里面就只表现为一个函数,使用起来非常方便快捷。一些数值求解的过程,往往需要大规模的迭代计算,当然也可能因为结果发散,而无法迭代出一个收敛的结果,这也是很正常的一件事情,可能与系统结构相关。

总之,经过这次实验收获很大,对学习帮助很大。

源文档也可以有偿发(1块2米都可以),欢迎私聊!!!

欢迎向我赞赏:

https://smms.app/image/O2A1M9nzqYcG3Cr

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

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

相关文章

【Mysql】Centos 7.6安装Mysql8

这里centos为阿里云默认镜像。 一、卸载历史历史版本 1、检查是否有服务启动 # service mysqld status 2、停止mysql服务 # service mysqld stop 3、查看mysql历史安装组件 # rpm -qa|grep mysqlmysql-libs-5.1.71-1.el6.x86_64 4、卸载组件 # rpm -e --nodeps mysql…

2022世界VR产业大会圆满收官,酷雷曼惊艳亮相!

11月14日&#xff0c;由工业和信息化部、江西省人民政府联合主办的全球VR领域规模最大、规格最高、影响最广的年度盛会——2022世界VR产业大会在江西南昌圆满落下帷幕。 本次大会得到了党中央、国务院的高度重视&#xff0c;国务委员王勇出席大会开幕式并讲话&#xff1b;大会邀…

【转】DNS隧道检测特征

原文链接&#xff1a;DNS隧道检测特征总结 - 知乎 一、摘要 企业内网环境中&#xff0c;DNS协议是必不可少的网络通信协议之一&#xff0c;为了访问互联网和内网资源&#xff0c;DNS提供域名解析服务&#xff0c;将域名和IP地址进行转换。网络设备和边界防护设备在一般的情况…

C++:内存管理:C++内存管理详解

C语言内存管理是指&#xff1a;对系统的分配、创建、使用这一系列操作。在内存管理中&#xff0c;由于是操作系统内存&#xff0c;使用不当会造成很麻烦的后果。本文将从系统内存的分配、创建出发&#xff0c;并且结合例子来说明内存管理不当会造成的结果以及解决方案。 一&am…

【Spring】Spring AOP的实现原理

目录 什么是AOP AOP的作用 AOP的优点 AOP框架 Spring AOP AspectJ 术语 1.Target ——目标类 2.Joinpoint ——连接点 3.Pointcut——切入点 4.Advice——通知/增强 5.Weaving——植入 6.Proxy——代理类 7.Aspect——切面 底层逻辑 开发流程 1.导入依…

八、手把手教你搭建SpringCloudAlibaba之Sentinel服务降级之慢调用

SpringCloud Alibaba全集文章目录&#xff1a; 零、手把手教你搭建SpringCloudAlibaba项目 一、手把手教你搭建SpringCloud Alibaba之生产者与消费者 二、手把手教你搭建SpringCloudAlibaba之Nacos服务注册中心 三、手把手教你搭建SpringCloudAlibaba之Nacos服务配置中心 …

贪心算法应用

1. 算法思想 贪心算法一般分为如下四步&#xff1a; 将问题分解为若干个子问题找出适合的贪心策略求解每一个子问题的最优解将局部最优解堆叠成全局最优解 即选择每一阶段的局部最优&#xff0c;从而达到全局最优。 2. 最大自序和 题目描述 题目链接 给你一个整数数组 n…

用Servlet 编写hello world

第一次接触 Servlet&#xff0c;使用 Servlet 编写代码并配合 Tomcat 在浏览器中展示代码效果&#xff0c;也算是自己这么长时间学习java的一次飞升吧。 本文总结了六步使用 Servlet 编写 helloworld步骤&#xff0c;希望给初学Servlet的同学一些帮助。 0、准备工作 1&#xff…

Python 随机函数random详解

介绍这7个随机数的方法应用&#xff1a; 1、random.random&#xff08;&#xff09;查看源码 说明&#xff1a;用于生成一个0到1的随机符点数: 0 < x < 1.0 import random for i in range(10):print(random.random()) 2、random.uniform&#xff08;&#xff09;查看源码…

深度学习(14)—— 关于Tensorboard

深度学习&#xff08;14&#xff09;—— 关于Tensorboard 文章目录深度学习&#xff08;14&#xff09;—— 关于Tensorboard前言1. “一参数一图”2.“多参数一图”3. “一栏一图”4. “一栏多图”在模型训练过程中loss和acc都会发生变化&#xff0c;常常需要记录这些值&…

Spring Security(2)

您好&#xff0c;我是湘王&#xff0c;这是我的CSDN博客&#xff0c;欢迎您来&#xff0c;欢迎您再来&#xff5e; 前面已经把需要的环境准备好了&#xff0c;包括数据库和SQL语句&#xff0c;现在再来写代码。至于安装MySQL什么的就跳过去了&#xff0c;娘度子里面一大把。 先…

保护Excel表格的4种常用方法

今天来说说&#xff0c;根据不同需求&#xff0c;我们可以给Excel表格设置保护的4种常用方法&#xff0c;记得保存收藏&#xff0c;总有一个适合你。 方法一&#xff1a; 如果不想Excel表格被他人随意打开&#xff0c;可以设置“打开密码”&#xff0c;这样只有输入设置的密码…

OpenSergo 流量路由:从场景到标准化的探索

流量路由&#xff0c;顾名思义就是将具有某些属性特征的流量&#xff0c;路由到指定的目标。流量路由是流量治理中重要的一环&#xff0c;多个路由如同流水线一样&#xff0c;形成一条路由链&#xff0c;从所有的地址表中筛选出最终目的地址集合&#xff0c;再通过负载均衡策略…

git ssh permission denied解决办法

git ssh permission denied解决办法 1. SSH配置 参考链接 SSH配置文档 2. ssh报错(permission denied) 解决方式&#xff1a; 找到git安装目录 进入etc/ssh文件夹内&#xff0c;找到ssh_config文件&#xff0c;在# Added by git-extra后面添加t替换代码具体参考下面图片 H…

2022强网拟态pwn-store

2022强网拟态pwn-store 这是一个综合题&#xff0c;io链接的构造&#xff0c;orw的系统位数的限制 首先是这个沙箱&#xff0c;64位只有r和w&#xff0c;一开始看的时候很纳闷多了32位的限制&#xff0c;64位还没有o&#xff0c;查了一下才知道这样的seccomp-tools是以64位的…

Design Compiler工具学习笔记(4)

目录 引言 知识储备 实际操作 设计源码 Vivado2018.3仿真 VCS2016仿真 Tcl脚本 约束脚本 MY_TOP.tcl 运行脚本 RUN.tcl 引言 本篇继续学习 DC的基本使用。本篇主要学习 DC 需要的环境约束。 前文链接&#xff1a; Design Compiler工具学习笔记&#xff08;1&#x…

【苹果推iMessage位置推相册共享推送】软件安装上传到appstore都是需要的Activity

推荐内容IMESSGAE相关 作者推荐内容iMessage苹果推软件 *** 点击即可查看作者要求内容信息作者推荐内容1.家庭推内容 *** 点击即可查看作者要求内容信息作者推荐内容2.相册推 *** 点击即可查看作者要求内容信息作者推荐内容3.日历推 *** 点击即可查看作者要求内容信息作者推荐…

maxcompute优化慢执行语句思路

maxcompute慢执行任务优化如何锁定慢执行任务&#xff1f;判断是何种类型的慢任务如何锁定慢执行任务&#xff1f; 第一步&#xff1a;如果是周期任务可以通过任务执行日志中的LogView 链接查看 &#xff0c;如果是临时任务则通过maxcompute命令行 执行wait instanceId instanc…

现代密码学导论-2-古典密码及其密码分析

目录 1.3 古典密码和密码分析 1.3.1 凯撒密码 Caesar’s cipher 1.3.2 移位密码 shift cipher 1.3.3 充分密钥空间原则 1.3.4 单表代换密码 mono-alphabetic substitution cipher 1.3.5 利用字母频率对移位密码的一种改进攻击 1.3.6 维吉尼亚密码(多表代换密码)Vigenere…

Ansys Zemax | 使用 OpticStudio 进行闪光激光雷达系统建模(上)

前言 在消费类电子产品领域&#xff0c;工程师可利用激光雷达实现众多功能&#xff0c;如面部识别和3D映射等。尽管激光雷达系统的应用非常广泛而且截然不同&#xff0c;但是 “闪光激光雷达” 解决方案通常都适用于在使用固态光学元件的目标场景中生成可检测的点阵列。凭借具…