Mathematica 与 Matlab 常见复杂指令集汇编

  • Mathematica 常见指令汇编

Mathematica 常见指令

NDSolve 求解结果的保存

sol = NDSolve[{y'[x] == x^2, y[0] == 0, g'[x] == -y[x]^2, g[0] == 1}, {y, g}, {x, 0, 1}];
numericSoly = sol[[1, 1, 2]];
numericSolg = sol[[1, 2, 2]];
data = Table[{x, numericSoly[x], numericSolg[x]}, {x, 0, 1, 0.01}];
dataset = Dataset[AssociationThread[{"x", "y", "g"}, #] & /@ data];
Export["C:\\Users\\LX\\Desktop\\data.csv", dataset]Plot[{numericSoly[x], numericSolg[x]}, {x, 0, 1}]

 

FindMinimum 求解结果的保存

f[x_, y_] := x^2 + y^2;
constraint = {x + y >= 1, Abs[x - y] >= 0.5};
sol = FindMinimum[{f[x, y], constraint}, {{x, 0}, {y, 0}}]minimizedVariables = sol[[2]];
minimumValue = sol[[1]];data = {{"x", "y", "f(x, y)"}, {minimizedVariables[[1]][[2]], minimizedVariables[[2]][[2]], minimumValue}};
Export["C:\\Users\\LX\\Desktop\\result.xlsx", data]

FindMinimum 不支持在整数规划以外的不等约束与域约束

 

  • 要解决这个问题,我们需要借助Matlab 的力量

Matlab 常见指令

odefun

g = @(t, w) t - w;%f = @(x, y) x^2 + y^2 - integral2(@(t, w) g(t, w), x, y, y, x);
f = @(x) x(1)^2 + x(2)^2 - integral2(@(t, w) g(t, w), x(1), x(2), x(1), x(2));nonlcon = @nonlinearConstraint;
A = [-1 -1;1 -1;1 -1];
b = [-1;-0.5;-0.5];
odefun = @(t, y) [-2*y(1) + y(2); y(1) - 2*y(2)];
tspan = [0 100];
y0 = [1; 0];
[t, y] = ode45(odefun, tspan, y0);
%plot(t, y(:, 1), 'r', t, y(:, 2), 'b');
%legend('y_1', 'y_2')
plot(y(:, 1), y(:, 2))
xlabel('y1')
ylabel('y2')

 

Optimization tools 的 matlab 替代

  • 针对FindMinimum 不支持在整数规划以外的不等约束与域约束
  • 问题

\begin{matrix} min=x_1^2+x_2^2-\int_{x_1}^{x_2}\int_{x_1}^{x_2}g(t,w)dtdw \\ g(t,w)=t-w\\ abs(x_1-x_2)>=0.5\\ x_1+x_2>=1\\ \int_{x_1}^{x_2}\int_{x_1}^{x_2}h(p,q)dpdq>=0.25\\ h(p,q)=p+2q \end{matrix}

Untitled.m 

g = @(t, w) t - w;%f = @(x, y) x^2 + y^2 - integral2(@(t, w) g(t, w), x, y, y, x);
f = @(x) x(1)^2 + x(2)^2 - integral2(@(t, w) g(t, w), x(1), x(2), x(1), x(2));nonlcon = @nonlinearConstraint;
A = [-1 -1;1 -1;1 -1];
b = [-1;-0.5;-0.5];

nonlinearConstraint.m 

function [c, ceq] = nonlinearConstraint(x)h = @(p, q) p + 2 * q;%k = @(x) integral2(@(p, q) h(p, q), x(1), x(2), x(1), x(2))-0.25;c = [0.25 - integral2(@(p, q) h(p, q), x(1), x(2), x(1), x(2))];ceq = [0];
end 

Optimizaation Tool 

 

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

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

相关文章

SQL | 分组数据

10-分组数据 两个新的select子句:group by子句和having子句。 10.1-数据分组 上面我们学到了,使用SQL中的聚集函数可以汇总数据,这样,我们就能够对行进行计数,计算和,计算平均数。 目前为止&#xff0c…

腾讯云CVM服务器端口在安全组中打开!

腾讯云服务器CVM端口怎么开通?腾讯云服务器端口是通过配置安全组规则来开通的,腾讯云服务器网以开通80端口为例来详细说下腾讯云轻量应用服务器开启端口的方法,其他的端口的开通如8080、1433、443、3306、8888等端口也适用于此方法&#xff0…

RK3588平台开发系列讲解(AI 篇)RKNPU 推理软件框架

文章目录 一、推理软件框架二、RKNN 模型三、学习步骤整理沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本篇章主要讲解什么是RKNPU。 一、推理软件框架 RKNPU 硬件层 RKNPU 驱动层 RKNPU 的驱动层是连接上层应用和 RKNPU 硬件的桥梁。驱动层的主要作用是将应用程序…

如何运用小程序技术闭环运营链路?

如何通过线上小程序获取用户线索,提高企业抗风险能力,建立有效的营销数字化系统一直是困扰每一个小程序开发者与运营者的问题。 当我们选择使用小程序设计自己的运营流程时,从「推广」到「转化」,再到最终的「留存」都是运营过程…

学习笔记|printf函数的实现|不同操作系统中的换行|数的进制:2进制、10进制、16进制转换|STC32G单片机视频开发教程(冲哥)|第五集:C语言基础

文章目录 1.C语言 printf函数的实现Tips:ASCII码表Tips:找不到头文件怎么办?主函数添加程序:常规用法:Tips:不同操作系统中的换行 ⒉数的进制:2进制、10进制、16进制.常见的对应:应用:整体端口的操作 3.C语…

Java面向对象(内部类)(枚举)(泛型)

内部类 内部类是五大成员之一(成员变量、方法、构造方法、代码块、内部类); 一个类定义在另一个类的内部,就叫做内部类; 当一个类的内部,包含一个完整的事物,且这个事务不必单独设计&#xf…

初学HTML:在线简易画板设计。

最近在HTML&#xff0c;记录下一点点成果。 设计了一个简易画板&#xff0c;通过HTML的Canvas元素实现一个在线画板&#xff0c;用户可以在上面绘制图形或涂鸦。 下面是运行效果&#xff1a; 下面是代码&#xff1a; <!DOCTYPE html> <html> <head><ti…

大数据——协同过滤推荐算法:矩阵分解

矩阵分解的方法也分为很多种&#xff1a;SVD、LFM、BiasSVD和SVD。 Traditional SVD 一般SVD矩阵分解指的是SVD奇异值分解&#xff0c;将矩阵分解成三个相乘矩阵&#xff0c;中间矩阵就是奇异值矩阵。SVD分解的前提是矩阵是稠密的&#xff0c;现实场景中数据都是稀疏的&#x…

16.3.2 【Linux】程序的管理

程序之间是可以互相控制的。举例来说&#xff0c;你可以关闭、重新启动服务器软件&#xff0c;服务器软件本身是个程序&#xff0c; 你既然可以让她关闭或启动&#xff0c;当然就是可以控制该程序。 使用kill-l或者是man 7 signal可以查询到有多少个signal。主要的讯号代号与名…

【Uni-App】uview 开发多端应用,密码显示隐藏功能不生效问题

出现的问题&#xff1a; 使用uview组件u-input框密码绑定时会出现右侧密码显隐图标不显示的问题 思路&#xff1a; 1.看了下uview源码&#xff0c;发现这有一段注释&#xff0c;我们需要把源码修改一下&#xff0c;问题出在这里 这行代码修改为 :password"password || …

等保案例 1

用户简介 吉林省人力资源和社会保障厅&#xff08;简称“吉林省人社厅”&#xff09;响应《网络安全法》的建设要求&#xff0c;为了向吉林省人民提供更好、更快、更稳定的信息化服务&#xff0c;根据《网络安全法》和等级保护2.0相关标准&#xff0c;落实网络安全与信息化建设…

C++异常

目录 一、C语言处理错误的常用方式二、C异常的概念三、异常的使用3.1 异常的抛出和捕获3.2 异常的重新抛出3.3 异常安全3.4 异常规范 四、自定义异常体系五、C标准库的异常体系六、异常的优缺点&#xff08;重点&#xff09; 一、C语言处理错误的常用方式 传统的错误处理机制&…