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

Aktualnie online:




Najnowsze posty na forum:
[SciLab] Łączenie macierzy w pętli  (20 Kwietnia 2018, Pią 9:06 pm)
Ostatni w Aleppo 2017 Cały Film Online Lektor PL  (20 Kwietnia 2018, Pią 7:05 pm)
Pobieranie danych z portu  (20 Kwietnia 2018, Pią 3:42 pm)
KaĹźdego dnia 2018 Obejrzyj Cały Film Online Lektor PL  (20 Kwietnia 2018, Pią 2:36 pm)
Piękna i bestia 6 Odcinek Online  (20 Kwietnia 2018, Pią 12:01 pm)
Piękna i bestia 5 Odcinek Online  (20 Kwietnia 2018, Pią 12:01 pm)
Piękna i bestia 4 Odcinek Online  (20 Kwietnia 2018, Pią 12:00 pm)
Piękna i bestia 3 Odcinek Online  (20 Kwietnia 2018, Pią 12:00 pm)
Piękna i bestia 2 Odcinek Online  (20 Kwietnia 2018, Pią 12:00 pm)
Piękna i bestia 1 Odcinek Online  (20 Kwietnia 2018, Pią 11:59 am)
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