WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Fehler beim Verwenden der Funktion "resample" in S

 

Gast_F

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.12.2020, 16:57     Titel: Fehler beim Verwenden der Funktion "resample" in S
  Antworten mit Zitat      
Hallo,

ich habe in meinem Simulink Modell einen Matlab Function Block, in dem ich die Funktion resample(x,tx,fs) ausführen möchte.
In meinem Fall ist x ist ein Zeilenvektor mit den Abtastwerten, tx ist ein gleich langer Zeilenvektoren mit den Ortspunkten der Abtatswerte und fs die Abtatsrate in Hz, auf die das ganze gebracht werden soll. x und tx ändern sich mit der Zeit, sind also nicht konstant.

Beim Ausführen bekomme ich den Fehler: "The upsample factor P must be constant."
Scheinbar erkennt Matlab in diesem Fall nicht, dass ich nicht die Funktion resample mit dem Input (data, upsample factor, downsample factor) aufrufe und erwartet deswegen an zweiter Stelle einen konstanten Wert.

Kann mir irgendjemand helfen dieses Problem zu lösen?
Vielen Dank schonmal im Voraus!


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.425
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 16.12.2020, 17:29     Titel:
  Antworten mit Zitat      
Hallo,

ich habe versucht das zu reproduzieren, es ist mir aber leider nicht gelungen. Bitte hänge doch ein Beispielmodell an, das macht es deutlich einfacher.

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast_F

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.12.2020, 18:21     Titel:
  Antworten mit Zitat      
Hallo Harald,

anbei eine Beispieldatei. val1 und val2 werden als timeseries aus dem Workspace geladen und immer die letzten 600 Werte in einem Vektor gespeichert.

Vielen Dank für deine Zeit!

test3.slx
 Beschreibung:

Download
 Dateiname:  test3.slx
 Dateigröße:  25.33 KB
 Heruntergeladen:  171 mal
 
Gast_F

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.12.2020, 20:14     Titel:
  Antworten mit Zitat      
Habe noch ein bisschen mehr rumprobiert. Der Fehler kommt, egal was ich für Inputs in meinen "Matlab Function" Block mit der resample Funktion habe. Auch wenn der erste Input ein konstanter Vektor und die zwei anderen konstante Integer sind, gibt es die selbe Fehlermeldung: "The upsample factor P must be constant."
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.425
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 16.12.2020, 21:07     Titel:
  Antworten mit Zitat      
Hallo,

mit selbst erzeugten Beispieldaten bekomme ich nicht diese Fehlermeldung, sondern
Zitat:
Data 'y' is inferred as a variable size matrix, while its properties in the Model Explorer specify its size as inherited or fixed. Please check the 'Variable Size' check box and specify the upper bounds in the size field.


Wenn ich das mache, bekomme ich weitere Fehlermeldungen, die aber an nicht besonders sinnvollen Beispieldaten liegen können. Stelle doch bitte auch Beispieldaten zur Verfügung, bei denen das Problem so auftritt.

Solltest du ein älteres Release als das momentane verwenden, gib bitte auch das an.

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast_F

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.12.2020, 22:12     Titel:
  Antworten mit Zitat      
Hallo Harald,

anbei nochmal eine vereinfachte Modellversion, bei der der selbe Fehler auftritt. Ich benutze im Moment die R2019a Version von Matlab.

Das komische ist, dass wenn ich die Variablen im Matlab Command Window definiere und die Funktion resample auch im Command Window ausführe, keine Fehlermeldung auftritt und alles wie gewünscht funktioniert. Mit den gleichen Inputwerten tritt dann aber im Simulink-Modell wieder der Fehler auf, obwohl doch eigentlich genau das gleiche passieren müsste.

test3.slx
 Beschreibung:
Konstante Beispieldaten, bei denen der Fehler: "The upsample factor P must be constant." auftritt
x = [1.1 3.2 2.3 3.2 2.4 2.7 3.0]';
tx = [0 1.1 2.3 3.1 3.9 4.6 5.9]';
fs = 1;

Download
 Dateiname:  test3.slx
 Dateigröße:  22.32 KB
 Heruntergeladen:  171 mal
 
Gast_F

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.12.2020, 22:19     Titel:
  Antworten mit Zitat      
In dem eben gesendeten Simulink-Modell müsste beim "To Workspace" Block noch unter Format "Array" anstelle von "Timeseries" eingestellt werden. Tut mir Leid, das hatte ich übersehen, ändert aber nichts an der Fehlermeldung.
Vielen lieben Dank für deine Zeit und Mühe!
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.425
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 17.12.2020, 22:56     Titel:
  Antworten mit Zitat      
Hallo,

in R2019a kann ich das Problem nachvollziehen, in R2020b besteht es in der Form nicht mehr. Besteht denn die Möglichkeit, das Release zu wechseln?

In Simulink passiert im übrigen nicht genau dasselbe: aus der MATLAB Function wird C-Code generiert, und da vermute ich auch das Problem.

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast_F

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.12.2020, 09:39     Titel:
  Antworten mit Zitat      
Hallo Harald,

danke für deine Rückmeldung. Ich lade mir jetzt mal die 2020b Version herunter und melde mich dann nochmal, ob es geklappt hat.
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.