ans = 
How can I solve the problem in integral code?
12 Mai 2025
1 Antwort
7 Ansichten (30 Tage)
Sie verfolgen jetzt diese Frage
- Aktualisierungen können Sie in Ihrem Feed verfolgter Inhalte sehen.
- Je nach Ihren Kommunikationseinstellungen können Sie auch E-Mails erhalten.
Es ist ein Fehler aufgetreten
Da Änderungen an der Seite vorgenommen wurden, kann diese Aktion nicht abgeschlossen werden. Laden Sie die Seite neu, um sie im aktualisierten Zustand anzuzeigen.
Ältere Kommentare anzeigen
0 Stimmen
Teilen Sie einen Link zu dieser Frage
Solve the problem
Akzeptierte Antwort
1 Stimme
Teilen Sie einen Link zu dieser Antwort
Loop over the values of the sigma-vector - thus call "vpaintegral" for each sigma value separately.
Or alternatively make your code a function and call it from a script with a single sigma-value as input.
Further, I'd recommend first to use "integral" instead of "vpaintegral" to save computation time.
And where do you compute w1 - w6 - the variables you try to plot at the end of your code ?
Works because "vpaintegral" is called for each sigma-value separately:
syms r
f = r^2;
sigma = 0:0.1:1;
arrayfun(@(sigma)vpaintegral(f,r,0,sigma),sigma)
Does not work because "vpaintegral" is called once with the complete sigma-vector:
syms r
f = r^2;
sigma = 0:0.1:1;
vpaintegral(f,r,0,sigma)
Operands to the logical AND (&&) and OR (||) operators must be convertible to logical scalar values. Use the ANY or ALL functions to reduce operands to logical scalar values.
Error in sym/vpaintegral (line 182)
(isinf(b) && isempty(symvar(b)) && ~isreal(b))
8 Kommentare
Shreen El-Sapa
am 12 Mai 2025
Teilen Sie einen Link zu diesem Kommentar
Torsten
am 12 Mai 2025
Teilen Sie einen Link zu diesem Kommentar
It's the same problem as above. "vpaintegral" can integrate one function over one interval of integration at a time. Thus alpha must be a single value when you call "vpaintegral", not a vector of values.
Shreen El-Sapa
am 12 Mai 2025
Teilen Sie einen Link zu diesem Kommentar
Thanks I will try to use it.
Shreen El-Sapa
am 12 Mai 2025
Teilen Sie einen Link zu diesem Kommentar
Excuse me, Can I do this for 6 integrals?
Shreen El-Sapa
am 12 Mai 2025
Verschoben: Torsten
am 12 Mai 2025
Teilen Sie einen Link zu diesem Kommentar
please see this:
Torsten
am 12 Mai 2025
Teilen Sie einen Link zu diesem Kommentar
Try the attached revised code.
Walter Roberson
am 12 Mai 2025
Teilen Sie einen Link zu diesem Kommentar
Note that vpaintegral() can handle the case where the part to be integrated is non-scalar, but cannot handle the case where the limits to integration are non-scalar.
syms x
vpaintegral([sin(x), cos(x)], x, [0 1])
ans = 
Teilen Sie einen Link zu diesem Kommentar
Thank you for the info.
So the changes to your last code (test_microstrength.m) were not necessary (except for the final plotting).
Weitere Antworten (0)
Kategorien
Mehr zu Calculus finden Sie in Hilfe-Center und File Exchange
Siehe auch
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Website auswählen
Wählen Sie eine Website aus, um übersetzte Inhalte (sofern verfügbar) sowie lokale Veranstaltungen und Angebote anzuzeigen. Auf der Grundlage Ihres Standorts empfehlen wir Ihnen die folgende Auswahl: .
Sie können auch eine Website aus der folgenden Liste auswählen:
So erhalten Sie die bestmögliche Leistung auf der Website
Wählen Sie für die bestmögliche Website-Leistung die Website für China (auf Chinesisch oder Englisch). Andere landesspezifische Websites von MathWorks sind für Besuche von Ihrem Standort aus nicht optimiert.
Amerika
- América Latina (Español)
- Canada (English)
- United States (English)
Europa
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)
