24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1963  |  回复: 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的回帖

z65668396

金虫 (正式写手)

顶一下   求大神
心有猛虎,细嗅蔷薇。
2楼2013-10-10 14:40:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

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的回帖

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的回帖

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的回帖

sunshine819

金虫 (小有名气)

【答案】应助回帖

★ ★ ★ ★
z65668396: 金币+3, ★★★很有帮助 2013-10-19 16:35:27
臭水沟: 金币+1, 谢谢交流~ 2013-10-20 18:59:58
引用回帖:
5楼: Originally posted by z65668396 at 2013-10-19 13:12:03
麻烦问下  我的V是连续的   如果按照程序算的话是一系列间断点
查表会出现查不到对应的s...

不会的,look up table这个模块内置的是插值算法,你把模块的参数页打开看看,里面还能选择方式呢
日光之下皆覆辙 月光之下皆旧梦
7楼2013-10-19 16:27:40
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

z65668396

金虫 (正式写手)

引用回帖:
6楼: Originally posted by sp_tried at 2013-10-19 15:18:11
v是连续,那你程序算出的s应该也是连续的吧?...

嗯  是的
我用matlab function 试了下   
给一个输入   然后输出    不知道这样行不行?
心有猛虎,细嗅蔷薇。
8楼2013-10-19 16:33:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

z65668396

金虫 (正式写手)

引用回帖:
7楼: Originally posted by sunshine819 at 2013-10-19 16:27:40
不会的,look up table这个模块内置的是插值算法,你把模块的参数页打开看看,里面还能选择方式呢...

嗯嗯   谢谢   
麻烦问下  如果用matlab function可以吗?
我的程序输出s 是 v 的函数
在matlab funtion 的设置里输入Ct
这样对吗?
心有猛虎,细嗅蔷薇。
9楼2013-10-19 16:35:19
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sp_tried

铜虫 (初入文坛)


臭水沟: 金币+1, 谢谢交流~ 2013-10-20 19:00:15
引用回帖:
8楼: Originally posted by z65668396 at 2013-10-19 16:33:00
嗯  是的
我用matlab function 试了下   
给一个输入   然后输出    不知道这样行不行?...

感觉还是不太清楚你的情况.......
如果可以,你把v和计算s的程序给我,我来试试。
oneforall,andallforone!
10楼2013-10-19 16:35:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 z65668396 的主题更新
信息提示
请填处理意见