errors in matlab function block in simulink
1 次查看(过去 30 天)
显示 更早的评论
i am trying to create a matlab function block in the Simulink that generates square pulses as pulse generator but errors appear please help , I attached screenshots.
<<
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/160855/image.png)
>>
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/160859/image.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/160863/image.png)
回答(1 个)
Azzi Abdelmalek
2016-4-11
Your code is not correct. Plus, generating a puls train with Matlab function is not a good idea. You have to know that your Matlab function block, the way it's programmed, will outpu,t each sample time, an entire array.
You can generate such signal with from file block, from worksapce block or using repeated sequence
If you want to use from file block
Fs=1e+9
tend=10*4e-6
t=0:1/Fs:tend;
pulsewidth=1e-6
pulseperiods=(0:10)*4e-6
x=pulstran(t,pulseperiods,'rectpuls',pulsewidth)
v=[t;x];
save yourfile v
Then set the name "yourfile" in the frome file block
28 个评论
mohamed samhy
2016-4-11
should I write your code in the matlab function block or where please clarify ? ( and thanks for helping really appreciate it )
Azzi Abdelmalek
2016-4-11
No, in a script, or Windows Command. The aim is to create the file that contains your signal.
mohamed samhy
2016-4-11
I saved it by this name , how should I implement it now in the Simulink block ?
mohamed samhy
2016-4-11
and the scope shows no square pulses , sorry for disturbance I really appreciate your helping
Azzi Abdelmalek
2016-4-11
In model configuration parameters set the solver to discret. and set the stop time to tend
Azzi Abdelmalek
2016-4-11
no, set it to tend. because your frequency is very high 1e9. If you want to see quickly your pulse train, set the stop time to t(end) or tend
mohamed samhy
2016-4-11
编辑:mohamed samhy
2016-4-11
it shows error because tend it is very big and maximum is 200000
mohamed samhy
2016-4-11
编辑:mohamed samhy
2016-4-11
yes the period of my square train pulse which is 4 microseconds
Azzi Abdelmalek
2016-4-11
编辑:Azzi Abdelmalek
2016-4-11
Have you read my previous comment? probably you have cleared the variable tend. before running your simulink model you need to set the variable tend to its original value
tend=10*4e-6
mohamed samhy
2016-4-11
u mean from the variables in the matlab , ohh I thout Simulink is isolated from matlab . I will try now
mohamed samhy
2016-4-11
I tried again same error , I got exhausted seems I cant do it , if u can send me a file I would really appreciate it , thanks again for all.
mohamed samhy
2016-4-11
I have a problem in the Simulink model if u please lastly can send it to me , my attached file is same as yours because I did it by your step but the Simulink is hard to run without errors. thanks so much so far
mohamed samhy
2016-4-11
https://www.dropbox.com/s/a5dlpl56eoohbhf/matfunc.zip?dl=0 this my Simulink file if u can attach your file and see what error appear that will be so helpful , thanks
mohamed samhy
2016-4-15
编辑:mohamed samhy
2016-4-15
it did work ,man you are such a great helpful person hope u have a happy life for helping people so much . thanks again man :)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Simulink Functions 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!发生错误
由于页面发生更改,无法完成操作。请重新加载页面以查看其更新后的状态。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
- América Latina (Español)
- Canada (English)
- United States (English)
欧洲
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)
亚太
- Australia (English)
- India (English)
- New Zealand (English)
- 中国
- 日本Japanese (日本語)
- 한국Korean (한국어)