Zaloguj się
Blog na Matlablog
Forum polskich użytkowników
 
UŻYTKOWNICY GRUPY PROFIL Zaloguj się, by sprawdzić wiadomości FAQ
 



Napisz nowy temat     Odpowiedz do tematu Zobacz poprzedni temat :: Zobacz następny temat

Embedded MATLAB Function pomoc
Forum MATLAB Strona Główna-> Simulink
Post Wysłany: 19 Styczenia 2011, Sro 10:19 am Temat postu: Embedded MATLAB Function pomoc Odpowiedz z cytatem
 
AUTOR:
MarcinK



Dołączył: 19 Sty 2011
Posty: 3


Ogląda profil użytkownika Wyślij prywatną wiadomość
Witam.
Proszę o pomoc w sprawie wykorzystania Embedded MATLAB Function. Jak zrobić żeby jedna z funkcji wykonywanych w tym bloku była wykonana tylko raz?

Dokładnie to chodzi mi o to, że przy starcie muszę wyzerować wektor i chcę żeby był on zerowany tylko raz a nie co krok próbkowania.

Proszę o pomoc.


 

Post Wysłany: 19 Styczenia 2011, Sro 11:02 am Temat postu: Odpowiedz z cytatem
 
AUTOR:
mpi
Site Admin


Dołączył: 11 Gru 2005
Posty: 272
Skąd: Kraków


Ogląda profil użytkownika Wyślij prywatną wiadomość Wyślij email Odwiedź stronę autora
Jeśli ten wektor to np. X to piszesz coś typu:

Kod:

persistent X
;

if (
isempty(X)),
  
X = [0 0 0];
end

X
= X + [1 1 1];


Wtedy to X to będzie pamiętało wartość we wszystkich krokach symulacji, a wnętrze tego if'a to inicjalizacja.


 

Post Wysłany: 19 Styczenia 2011, Sro 1:18 pm Temat postu: Odpowiedz z cytatem
 
AUTOR:
MarcinK



Dołączył: 19 Sty 2011
Posty: 3


Ogląda profil użytkownika Wyślij prywatną wiadomość
działa dzięki!


 

Post Wysłany: 20 Styczenia 2011, Czw 1:37 pm Temat postu: Kolejny problem z embedded matlab function Odpowiedz z cytatem
 
AUTOR:
MarcinK



Dołączył: 19 Sty 2011
Posty: 3


Ogląda profil użytkownika Wyślij prywatną wiadomość
próbuję stworzyć instrukcję warunkową uzależnioną od zewnętrznego parametru binarnego, dla lepszego zrozumienia problemu przedstawię go w postaci c++
Kod:

if(!u)
{
  
X(i)=dane;
  
i=i+1;
}
else
{
    
i=0;
};

dane - sygnał wejściowy zmieniający się co okres próbkowania.
u- wspomniany sygnał binarny.

próbując stworzyć to w embedded matlab function robię

Kod:

function y =fcn(p,u)

persistent tab;
persistent i;
if
isempty(tab),
    
tab=[0;0;0;0;0;0;0;0;0;0;0;0;0;0];
end

if isempty(i),
i=0;
end

if(u==0),
tab(i)=p;
i=i+1;
else
i=0;
tab=[0;0;0;0;0;0;0;0;0;0;0;0;0;0];
end

y
=tab;

wtedy kompilator zgłasza błąd, że 'y' nie ma powiązania z 'u'. Da się to rozwiązać w prosty sposób? nigdzie nie mogłem doczytać się rozwiązania tego problemu. Proszę o pomoc.


 

Forum MATLAB Strona Główna-> Simulink
Wyświetl posty z ostatnich:   

Napisz nowy temat     Odpowiedz do tematu Zobacz poprzedni temat :: Zobacz następny temat

Wszystkie czasy w strefie CET (Europa)

Skocz do:  

Statystyki forum:



Od dnia 08.06.2006 forum odwiedzano 40900545
Najwięcej użytkowników 266 było obecnych 19 Lutego 2015, Czw 7:03 pm

Aktualnie online:




Najnowsze posty na forum:
Brytania (Britannia) {S01E010} online PL napisy CDA 1x10  (17 Styczenia 2018, Sro 11:29 pm)
Brytania (Britannia) {S01E09} online PL napisy CDA 1x09  (17 Styczenia 2018, Sro 11:28 pm)
Brytania (Britannia) {S01E08} online PL napisy CDA 1x08  (17 Styczenia 2018, Sro 11:28 pm)
Brytania (Britannia) {S01E08} online PL napisy CDA 1x08  (17 Styczenia 2018, Sro 11:28 pm)
Brytania (Britannia) {S01E07} online PL napisy CDA 1x07  (17 Styczenia 2018, Sro 11:27 pm)
Brytania (Britannia) {S01E06} online PL napisy CDA 1x06  (17 Styczenia 2018, Sro 11:27 pm)
Brytania (Britannia) {S01E05} online PL napisy CDA 1x05  (17 Styczenia 2018, Sro 11:27 pm)
Brytania (Britannia) {S01E04} online PL napisy CDA 1x04  (17 Styczenia 2018, Sro 11:26 pm)
Brytania (Britannia) {S01E03} online PL napisy CDA 1x03  (17 Styczenia 2018, Sro 11:21 pm)
Brytania (Britannia) {S01E02} online PL napisy CDA 1x02  (17 Styczenia 2018, Sro 11:20 pm)
Twoje prawa:
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Nie możesz ściągać plików na tym forum