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 40935132
Najwięcej użytkowników 266 było obecnych 19 Lutego 2015, Czw 7:03 pm

Aktualnie online:




Najnowsze posty na forum:
Mamuśka (Mom) {S05E11} online PL napisy 5x11 CDA  (18 Styczenia 2018, Czw 11:50 pm)
Nashville {S06E03} online PL napisy 6x03 CDA/Zalukaj  (18 Styczenia 2018, Czw 11:49 pm)
Damnation {S01E10} online PL napisy 1x10 CDA/Zalukaj  (18 Styczenia 2018, Czw 11:48 pm)
S.W.A.T. – jednostka specjalna {S01E11} online napisy PL  (18 Styczenia 2018, Czw 11:47 pm)
Beyond {S02E02} online PL napisy 2x02 CDA/Zalukaj  (18 Styczenia 2018, Czw 11:46 pm)
Beyond {S02E01} online PL napisy 2x01 CDA/Zalukaj  (18 Styczenia 2018, Czw 11:45 pm)
Young Sheldon {S01E12} online napisy PL 1x12 CDA  (18 Styczenia 2018, Czw 11:38 pm)
SposĂłb na morderstwo (HTGAWM) {S04E09} online PL CDA  (18 Styczenia 2018, Czw 11:37 pm)
Chicago Fire {S06E09} online PL napisy 6x09 CDA  (18 Styczenia 2018, Czw 11:35 pm)
Supernatural (Nie z tego świata) {S13E10} online napisy PL  (18 Styczenia 2018, Czw 11:31 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