帮助中心帮助中心
生成MATLAB代码可调增益的表面
代码= codegen (GS)
例子
代码= codegen (GS)MATLAB生成®代码的可调的表面GS。生成的代码是一个函数,接受调度变量的标量值,并返回纯量值或矩阵值获得,取决于GS。
代码
GS
全部折叠
创建一个可调的表面,代表着一个标量获得双线性对两个调度变量的依赖。假设调度变量α,从0-15度,V,从300 - 600 m / s。线性可调表面覆盖的网格在这个工作范围。
α
V
(α,V) = ndgrid (0:3:15,300:50:600);域=结构(“α”α,“V”,V);shapefcn = @ (x, y) (x, y, x * y);GS0 = tunableSurface (“K”1域shapefcn);
通常,您可以使用GS0参数化计划获得和调优与systune表面系数。对于这个示例,而手工调优,将系数设置为非零值。
GS0
GS = setData (GS0(100年,28岁,40岁,10]);
生成MATLAB代码计算标量增益调度变量的函数。
代码= '函数Gain_ = fcn (alpha_ V_) % # codegen %类型铸造0 = 0(1,1,“喜欢”,alpha_ + V_);alpha_ =投(alpha_,“喜欢”,零);V_ =投(V_,“喜欢”,零);%调增益表面系数多项式系数=投([100 28 40 10],“喜欢”,零);偏移量=投([450 - 7.5],“喜欢”,零);落下的石块=投([150 - 7.5],“喜欢”,零);%正常化alpha_ = (alpha_ -补偿(1))/落下的石块(1);V_ = (V_ -补偿(2))/落下的石块(2);%计算加权和的术语Y = [alpha_、V_ alpha_ * V_];Gain_ =多项式系数(1); for i=1:numel(Y) Gain_ = Gain_ + Coeffs(i+1) * Y(i); end '
生成的代码是一个函数,fcn,这需要两个调度变量并返回一个标量。功能包括% # codegen指令,可以用于进一步的代码生成,如实现调谐获得硬件的时间表。
fcn
% # codegen
功能包括四个部分。第一部分确保调度变量是相同的类型。第二部分编码增益系数和偏移和落下的石块,软件的摘录GS。这些值硬编码fcn,可以计算得到表面没有提及G年代。第三部分使用这些值来计算归一化调度变量。(见tunableSurface关于标准化的更多信息)。
年代
tunableSurface
最后一节计算得到总结的所有条款多项式表面获得的表达式。
可调增益表面,指定为一个tunableSurface对象。
为获得表面生成的代码,作为一个字符数组返回。代码包含一个函数,Gain_ = fcn (xN_ x1_, x2_,…)从调度变量,计算获得x1_ x2_,…, xN_的GS。表达式相关的增益调度变量、表达式的系数,调度变量的标准化都来自GS,代码可以运行没有进一步的参考TS。包括返回的函数% # codegen指令,以便它可以用于进一步的代码生成,如实现调谐获得硬件的时间表。
Gain_ = fcn (xN_ x1_, x2_,…)
x1_ x2_,…, xN_
TS
当你使用writeBlockValue从一个写调谐gain-surface系数slTuner接口MATLAB函数块,它使用MATLAB代码生成。
writeBlockValue
slTuner
您有一张这本Beispiels geanderte版本。您这本Beispiel麻省理工学院古老Anderungen offnen吗?
您有窗户的链接geklickt,汪汪汪der diesem MATLAB-Befehl entspricht:
在das MATLAB-Befehlsfenster Fuhren您窝Befehl军队Eingabe来自。浏览器unterstutzen MATLAB-Befehle。
选择一个网站翻译内容,看到当地事件和提供。根据你的位置,我们建议您选择:。
你也可以从下面的列表中选择一个网站:
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。
联系你当地的办公室