matlab 中调用s函数表达式,[求助]S函数中能否调用M函数
[求助]S函数中能否调用M函数
我现在写了一个S-FUNCTION
里面调用了一些M函数,当把S函数的名字写入S—FUNCTION块的时候
总是出现
??? SWITCH expression must be a scalar or string constant.
Error in ==> HSV at 32
switch flag,
不知道该如何处理了,请教大家了
AreaCXJTFT等都为M函数,如果我调用方式出现错误,请指出阿,:biggrin: :biggrin:
程序如下:
看着很麻烦,其实就是判断区域Area后,根据Area的值选择输出的计算方式:
function [sys,x0,str,ts]=HSV(t,x,u,flag)
switch flag,
case 0
[sys,x0,str,ts] = mdlInitializeSizes; % Initialization
case 3
sys = mdlOutputs(t,x,u); % Calculate outputs
case { 1, 2, 4, 9 }
sys = []; % Unused flags
otherwise
error(['Unhandled flag = ',num2str(flag)]); % Error handling
end;
function [sys,x0,str,ts] = mdlInitializeSizes
sizes = simsizes;
sizes.NumContStates= 0;
sizes.NumDiscStates= 0;
sizes.NumOutputs=7;
sizes.NumInputs=2;
sizes.DirFeedthrough=0;
sizes.NumSampleTimes=1;
sys = simsizes(sizes);
str = [];
ts = [-1 0];
function sys = mdlOutputs(t,x,u)
P=u(1);
Tamp=u(2)+273.15;
if (273.15<=Tamp<=1073.15) &( 0.007<=P<=100)
if (273.15<=Tamp<=623.15)
Pst=Ps(Tamp);
Pb12=Pst;
if P>=Pb12
Area=1;
else
Area=2;
end
elseif (623.15
Pb23=P23(Tamp);
Pst=Ps(Tamp);
if (623.15
if P==Pst
Area=4;
elseif (Tamp==647.096)&(P==22.064)
GV=0.003106;
Area=4;
end
elseif P
Area=2;
else
Area=3
end
else (863.15<=Tamp<=1073.15)
Area=2;
end
else
return
end
switch Area,
case 1
PS=16.53; %1区基本方程3.1中压力常数,MPa
TS=1386; %1区基本方程3.1中温度常数,K
GH=1;
GS=1;
GV=1;
LH=TS*R0*(TS/Tamp)*AreaARr(P,Tamp);
LS=R0*((TS/Tamp)*AreaARr(P,Tamp) -AreaAR(P,Tamp));
LV=TS*R0*AreaARY(P,Tamp)/(PS*1000);
subArea=1;
case 2
TS=540; %TS=540K
PS=1; %PS=1Mpa
LH=1; %2_过热蒸汽区中水的比焓不计算
LS=1; %2_过热蒸汽区中水的比熵不计算
LV=1; %2_过热蒸汽区中水的比容不计算
if P<=10
GH=R0*T0*(TS/Tamp)*AreaBaH(P,Tamp);
GS=R0*AreaBaS;
GV=R0*T0*(P/PS)*AreaBaV(P,Tamp);
else
GH=R0*T0*(TS/Tamp)*AreaBaH(P,Tamp);
GS=R0*AreaBaS;
GV=R0*T0*(P/PS)*AreaBaV(P,Tamp);
end
subArea=2;
case 3
TS=647.096; %TS=647.096K
LH=1;
LS=1;
LV=1;
GH=R*TS*(AreaCTFT(P,Tamp)+AreaCDFD(P,Tamp));
GS=R*(AreaCTFT(P,Tamp)-AreaCF(P,Tamp));
GV=AreaCV(P,Tamp);
subArea=3;
case 4
LH=R*T*(AreaCNDTFT(P,Tamp)+AreaCNDDFD(P,Tamp));
LS=R*(AreaCNDTFT(P,Tamp)-AreaCNDF(P,Tamp));
LV=AreaCNDV(P,Tamp);
GH=R*T*(AreaCXJTFT(P,Tamp)+AreaCXJDFD(P,Tamp));
GS=R*(AreaCXJTFT(P,Tamp)-AreaCXJF(P,Tamp));
GV=AreaCXJV(P,Tamp);
subArea=4;
otherwise
return
end
sys=[LH,LS,LV,GH,GS,GV,subArea];
matlab 中调用s函数表达式,[求助]S函数中能否调用M函数相关推荐
- js调用php函数兵每秒刷新,深入理解JavaScript立即调用函数表达式(IIFE)
立即调用函数 目录一.了解立即调用函数表达式 二.立即调用函数表达式报错了? 三.使用立即调用函数的正确姿势 四.常见使用场景 写在最后 一.了解立即调用函数表达式 1.1 思维导图 1.2 什么是立 ...
- 一文探索 JavaScript 最强大特性—函数表达式
函数是 ECMAScript 中最有意思的部分之一,这主要是因为函数实际上是对象.每个函数都是 Function 类型的实例,而 Function 也有属性和方法,跟其他引用类型一样.因为函数是对象, ...
- JavaScript 函数声明,函数表达式,匿名函数,立即执行函数之区别
函数声明:function fnName () {-};使用function关键字声明一个函数,再指定一个函数名,叫函数声明. 函数表达式 var fnName = function () {-};使 ...
- 深入理解JavaScript系列(2):揭秘命名函数表达式(转)
前言 网上还没用发现有人对命名函数表达式进去重复深入的讨论,正因为如此,网上出现了各种各样的误解,本文将从原理和实践两个方面来探讨JavaScript关于命名函数表达式的优缺点. 简 单的说,命名函数 ...
- js-面向对象的程序设计,函数表达式
面向对象的程序设计: 1.属性类型:数据属性.访问器属性 数据属性:wirtable:false –只读:如果尝试为它赋值,会忽略 Configurable:false-不能从对象中删除属性 在调用O ...
- 函数表达式和函数定义
匿名函数:函数如果没有名字,就是匿名函数 * 函数的另一种定义方式 函数表达式: 把一个函数给一个变量,此时形成了函数表达式 var 变量=匿名函数; 例子: * var f1=function () ...
- 函数声明与函数表达式的区别
一. 定义函数的方式 定义函数有两种方式:函数声明和函数表达式. 函数声明的语法是这样的: function functionName(arg0,arg1){//函数体 } 首先是function关键 ...
- javascript函数声明和函数表达式
JavaScript中定义函数最常用的方式是函数声明和函数表达式.这两种技术非常相似,有时甚至难以区分,但在后续章节中可以看到,它们之间还是存在着微妙的区别. JavaScript定义函数最基本方式是 ...
- javascript高级程序设计之函数表达式
1.闭包 指有权访问另一个函数作用域中的变量的函数.创建闭包的常见方式,在一个函数内部创建另一个函数. 1.1 闭包与变量 闭包只能取得包含函数中任何变量的最后一个值. 1.2 关于this对象 匿名 ...
最新文章
- mybatis使用注解开发
- 十大响应式Web设计框架
- 127. Leetcode 242. 有效的字母异位词 (哈希表)
- Symfony 4.3 发布,带来搜索引擎自动保护
- alchemy php,Python下SQLAlchemy的简单介绍
- SAP C4C Lead明细页面里Account字段的绑定路径
- 安卓相机 高帧率_Android MediaCodec和摄像头:如何实现更高的帧速率从相机获取帧原始数据?...
- 玄学········为什么在eclipse上更改程序之后运行之后好像没更改一样
- SaaS 正在 Rails 化
- python模拟浏览器下载文件_模拟浏览器下载文件?
- python编程语言_Python编程语言的历史
- 【译】45种Javascript技巧大全
- IOS逆向(9)DebugServer + LLDB
- 虚拟机实现远程桌面连接
- 《Processing SPARQL queries over distributed RDF graphs》——读书笔记
- 中国甜奶油粉市场趋势报告、技术动态创新及市场预测
- ORB_SLAM2运行TUM数据和实时数据
- 文件系统学习 RAID原理学习 RAID0 RAID1 RAID2 RAID3 RAID4 RAID5 RAID6 RAID10
- 读书笔记:《不抱怨的世界》
- 齿轮与减速器输出端连接方式