24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1964  |  回复: 23
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

z65668396

金虫 (正式写手)

[求助] Look up table问题求教

我用matlab编写了M函数  程序如下
CODE:
function s=Ct(v)
if v<11.4
    error
    return
end
eq1='2*1.29*pi*63^2*v^3*x*(1-x)^2-5e6';
x=solve(eq1);
x=eval(x);
x=real(x);
a=x(x>0&x<0.5);
s=4*a*(1-a);
return

由于simulink模型要用到这个数据  v为输入 s输出  
所以想利用look up table生成一个表  如下
Look up table问题求教
求教各位大神,Look up table应该如何设置
非常感谢
回复此楼
心有猛虎,细嗅蔷薇。
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sp_tried

铜虫 (初入文坛)

【答案】应助回帖

★ ★ ★ ★ ★ ★
z65668396: 金币+5, ★★★很有帮助 2013-10-19 13:10:56
臭水沟: 金币+1, 谢谢交流~ 2013-10-20 18:59:49
不知我理解的是否正确:你似乎是想通过那段程序,用v值求出s,把计算得到的结果用于仿真,根据不同的v值查表得到s值。试试这样做:
1. 把你的v和算出的s保存为work space中的行向量;
2. 在lookup table参数设置页面,vector of input values设置为v,Table data设置为s,插值方式用默认应该就可以;
oneforall,andallforone!
4楼2013-10-19 13:04:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 24 个回答

sp_tried

铜虫 (初入文坛)

【答案】应助回帖

★ ★
臭水沟: 金币+2, 谢谢交流~ 2013-10-20 18:59:35
不知我理解地对不对:那段程序好像是根据v算出s,然后你想在仿真中用查表的关系实现根据不同的v值输出对应的s。
要实现这个功能,可以尝试:
1. 把你的数据v和算出的变量s保存为work space中的列向量;
2. 在lookup table参数设置界面中,vector of input values设置为变量v,Table data设置为变量s,查表方式对你这个案例应该影响不大,如果默认地内插值不行,换别的几种试试;
oneforall,andallforone!
3楼2013-10-19 12:55:55
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

z65668396

金虫 (正式写手)

引用回帖:
4楼: Originally posted by sp_tried at 2013-10-19 13:04:16
不知我理解的是否正确:你似乎是想通过那段程序,用v值求出s,把计算得到的结果用于仿真,根据不同的v值查表得到s值。试试这样做:
1. 把你的v和算出的s保存为work space中的行向量;
2. 在lookup table参数设置页 ...

麻烦问下  我的V是连续的   如果按照程序算的话是一系列间断点
查表会出现查不到对应的s
心有猛虎,细嗅蔷薇。
5楼2013-10-19 13:12:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sp_tried

铜虫 (初入文坛)

引用回帖:
5楼: Originally posted by z65668396 at 2013-10-19 13:12:03
麻烦问下  我的V是连续的   如果按照程序算的话是一系列间断点
查表会出现查不到对应的s...

v是连续,那你程序算出的s应该也是连续的吧?
oneforall,andallforone!
6楼2013-10-19 15:18:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见