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

variabe arraygröße in embedded matlab function

 

Ludwig32

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 05.12.2009, 17:14     Titel: variabe arraygröße in embedded matlab function
  Antworten mit Zitat      
hallo,

habe ein prob mit der simulink embedded matlab function.

(nach langer suche habe ich herausgefunden, dass MATLAB 2009b mein prob grundsätzlich lösen könnte (Forumsbeitrag Varibale Arraylänge (persistent) bei Matlab Embedded 2009b), allerdings strebe ich eine lösung an die auch bei version 2007b funktioniert)


folgende aufgabenstellung:

%%%%%%%%%%%%%%%%%%
function c = fcn(a,b,n)

% INPUTS
% a matrix (fixed size)
% b matrix (fixed size)
% n integer (fixed)

% OUTPUT
% c matrix (fixed size)

c = a*b;
for i=2:n
c = [c; a*b^2]
end

%%%%%%%%%%%%%%%%%%

oder anderst gesagt ich möchte eine matrix mit der struktur

[a*b; a*b^2; a*b^3;......a*b^n] erzeugen. hat jemand eine idee für eine workoaround?

danke im voraus!
beste grüße
ludwig


Harald
Forum-Meister

Forum-Meister


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

ein Einzeiler sollte es tun:
Code:
c = a * b .^(1:n)


Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Ludwig32

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 05.12.2009, 17:55     Titel: funktionier leider nicht
  Antworten mit Zitat      
interessanter ansatz doch leider funktioniert er nicht.


bsp;

>> a=rand(2,2);
b=rand(2,2);
c = a * b .^(1:4)

??? Error using ==> power
Matrix dimensions must agree.

gibt einen denkfehler von mir?
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 05.12.2009, 18:09     Titel:
  Antworten mit Zitat      
Ah, habe nicht gesehen, dass a und b Matrizen sein sollen.

c sieht dann wohl etwas merkwürdig aus? Es sollte allerdings reichen, wenn du c z.B. mit Nullen vorbelegst.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Ludwig32

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.12.2009, 14:04     Titel: Problem gelöst
  Antworten mit Zitat      
Danke für euere Bemühungen!

habe das Problem gelöst:

... element für element wird gebildet
es sind zwar viele schleifen notwendig aber es funktioniert

grüße ludwig
 
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.