De volgcode was gemaakt om de tijd te berekenen om de TE te vergroten ... (2024)

31 weergaven (laatste 30 dagen)

Toon oudere opmerkingen

Altibano Ortenzi op 17 juni 2024 om 2:14

  • Koppeling

    Directe link naar deze vraag

    https://www.mathworks.com/matlabcentral/answers/2129191-the-follow-code-was-create-to-calculate-the-time-to-increase-the-temperature-but-when-i-run- het-de

  • Koppeling

    Directe link naar deze vraag

    https://www.mathworks.com/matlabcentral/answers/2129191-the-follow-code-was-create-to-calculate-the-time-to-increase-the-temperature-but-when-i-run- het-de

Becommentarieerd: Altibano Ortenziongeveer 17 uur geleden

Open in Matlab online

Hieronder staan ​​de sleepfuncties die worden gebruikt om de tijd te berekenen om de temperatuur te vergroten.Volgens de ingangen: L1, L2, L3 en Heat+Power.De initiële waarden waren: 0,05 m;0,1 m;Respectievelijk 0,05 m en 500W.Maar met andere waarden retourneert het resultaat hetzelfde: Inifinite seconden!Ik heb de resultaten nodig in termen van plotten.

functietime_to_increase_temperature = calculate_time_to_increase_temperature (...

rho_concrete, rho_air, k_concrete, k_air, ~, cp_concrete,...

cp_air, t_initial, t_surface, l1, l2, l3, volume_p1_p3, ~,...

NX, NT, Delta_T, Heat_power)

% Bereken de totale dikte

Total_thickness = l1 + l2 + l3;

% Thermische diffusiviteiten

alpha_concrete = k_concrete / (rho_concrete * cp_concrete);% m²/s

alpha_air = k_air / (rho_air * cp_air);% m²/s

% Discretisatieparameters

dx = total_thickness / nx;% Ruimtelijke stapgrootte

dt = 6 / nt;% Tijdstapgrootte

% Preallocate temperatuurarrays

T = t_initial * ones (nx, 1);

T_new = t;

% Definieer materiaaleigenschappen op elk punt

len_p1 = round (nx * l1 / total_thickness);% Lengte van betonlaag P1

len_p2 = round (nx * l2 / total_thickness);% Lengte van luchtlaag P2

alleen_p3 = nx - alleen_p1 - alleen_p2;% Lengte van betonlaag P3

% Zorgt ervoor dat LEN_P3 correct is aangepast als afronding problemen heeft veroorzaakt

alsalleen_p1 + alleen_p2 + alleen_p3 ~ = nx

alleen_p3 = nx - alleen_p1 - alleen_p2;

einde

% Preallocate materiële array

materiaal = nullen (nx, 1);

materiaal (1: Len_p1) = alpha_concrete;

materiaal (Len_P1+1: Len_P1+Len_P2) = alpha_air;

materiaal (LEN_P1+LEN_P2+1: nx) = alpha_concrete;

tijd om de temperatuur te verhogen = in f;% Initialiseer om de tijd op te slaan om de temperatuur te verhogen

% Bereken warmte -invoer per ruimtelijk punt

hitte_input_per_point = heat_power * dt / (rho_concrete * cp_concrete * volume_p1_p3 / nx);

% Tijdintegratie met behulp van de eindige verschilmethode (FDM)

tijd = 0;% Initialiseer de tijd

voorn = 1: nt

voorI = 2: NX-1

T_new (i) = t (i) + materiaal (i) * dt / dx^2 * (t (i + 1) - 2 * t (i) + t (i -1));

% Grensvoorwaarden

T_new (1) = t (1) + alpha_concrete * dt / dx^2 * (t (2) - t (1)) + heat_input_per_point * (t_surface - t (1));

T_new (nx) = t (nx-1);

% Updatetemperatuur

T = t_new;

tijd = tijd + dt;

% Controleer of de temperatuur aan de rechterkant van P3 T_INITIAL + DELTA_T bereikt

alsT (nx)> = t_initial + delta_t

time_to_increase_temperature = time;

pauze;

einde

einde

% Retourneer de tijd om de temperatuur met 1 K aan de rechterkant van P3 te verhogen

einde

Functie main_process:

functiemain_process ()

% Parameters met vaste waarden

rho_concrete = 2500;% kg/m³

rho_air = 1293;% kg/m³

k_concrete = 1,35;% W/(m · k)

k_air = 0.024;% W/(m · k) uitgaande van typische waarde voor lucht

cp_concrete = 0,92 * 1000;% J/(kg · k)

Cp_air = 1.005 * 1000;% J/(kg · k)

T_initial = 300;% Initiële temperatuur in K

T_surface = 411;% Oppervlaktetemperatuur in k

volume_p1_p3 = 0.00488;% Volume van elke betonnen plaat in m³

Nx = 100;% Aantal ruimtelijke punten

NT = 1000;% Aantal tijdstappen

delta_t = 1;% Temperatuurstijging in K

% Vraag de gebruiker om specifieke invoerparameters

% L1 = input ('Voer de dikte van de eerste betonlaag in (m):');

% L2 = input ('Voer de dikte van de luchtlaag in (m):');

% L3 = input ('Voer de dikte van de tweede betonlaag in (m):');

% heat_power = input ('Voer het warmtevermogen in (w):');

L1 = 1;

Nee = 1;

L = 1;

heat_power = 1;

% Bel de functie

time_to_increase_temperature = calculate_time_to_increase_temperature (...

rho_concrete, rho_air, k_concrete, k_air, [], cp_concrete,...

cp_air, t_initial, t_surface, l1, l2, l3, volume_p1_p3, [],...

NX, NT, Delta_T, Heat_power);

% Geeft het resultaat weer

fprintf ('Tijd om de temperatuur met 1 K aan de rechterkant van P3 te verhogen: %.2f seconden \ n', time_to_increase_temperature);

% Plot het resultaat

Total_thickness = l1 + l2 + l3;

x = linspace (0, total_thickness, nx);% Ruimtelijke punten

y = linspace (0, time_to_increase_temperature, nx);% Tijdelijke punten voor het plotten

Plot (X, Y,'Weergavenaam',,'Tijd om de temperatuur met 1 K te verhogen');

xlabel ('Positie (M)');

YLabel ('Keer)');

legende('show');

titel('Tijd om de temperatuur met 1 K aan de rechterkant van P3 te verhogen');

einde

main_process ()

Tijd om de temperatuur met 1 K aan de rechterkant van P3 te verhogen: Inf seconden

De volgcode was gemaakt om de tijd te berekenen om de TE te vergroten ... (2)

1 reactie

Show -1 oudere commentshide -1 oudere opmerkingen

Altibano Ortenzi ongeveer 13 uur geleden

Directe link naar deze opmerking

https://www.mathworks.com/matlabcentral/answers/2129191-the-follow-code-was-create-to-calculate-the-time-to-increase-the-temperature-but-when-i-run- het-de#comment_3189956

  • Koppeling

    Directe link naar deze opmerking

    https://www.mathworks.com/matlabcentral/answers/2129191-the-follow-code-was-create-to-calculate-the-time-to-increase-the-temperature-but-when-i-run- het-de#comment_3189956

Ik heb de code gewijzigd, met uw suggesties, maar werkte niet.Ik zal een andere aanpak proberen, omdat de temperatuur met de tijd niet veranderde, of de resterende tijd ongewijzigd.

Bedankt.

Log in om commentaar te geven.

Log in om deze vraag te beantwoorden.

Antwoorden (2)

Ongeluk op 17 juni 2024 om 5:06

  • Koppeling

    Directe link naar dit antwoord

    https://www.mathworks.com/matlabcentral/answers/2129191-the-follow-code-was-create-to-calculate-the-time-to-increase-the-temperature-but-when-i-run- het-de#antwoord_1472541

  • Koppeling

    Directe link naar dit antwoord

    https://www.mathworks.com/matlabcentral/answers/2129191-the-follow-code-was-create-to-calculate-the-time-to-increase-the-temperature-but-when-i-run- het-de#antwoord_1472541

Open in Matlab online

Hoi@Altibano Ortenzi,,

Op basis van mijn begrip probeert u de tijd te berekenen die nodig is om de temperatuur met 1 K te verhogen. Bij het beoordelen van uw code heb ik gemerkt dat de variabele time_to_increase_temperature is voor dit doel bedoeld.Het is in eerste instantie ingesteld op inferen (Infinity) en wordt later als volgt bijgewerkt binnen een IF-statement:

% Controleer of de temperatuur aan de rechterkant van P3 T_INITIAL + DELTA_T bereikt

alsT (nx)> = t_initial + delta_t

time_to_increase_temperature = time;

pauze;

einde

Gegeven de ingangen:L1(0,05),Nee (0,1),,(05), en voorWarmtevermogen (500), het komt voor dat T (nx) overschrijdt nooit de som van T_initial(300) en delta_t(1).

Vervolgens, time_to_increase_temperature blijft ongewijzigd en behoudt zijn initiële waarde van oneindig.Ik stel voor om de code te bekijken om ervoor te zorgen dat alles correct is geconfigureerd en om te controleren of de voorwaarden voor wijzigentime_to_increase_temperature worden voldaan zoals verwacht.

1 reactie

Show -1 oudere commentshide -1 oudere opmerkingen

Altibano Ortenzi op 17 juni 2024 om 13:22

Directe link naar deze opmerking

https://www.mathworks.com/matlabcentral/answers/2129191-the-follow-code-was-create-to-calculate-the-time-to-increase-the-temperature-but-when-i-run- het-de#comment_3188286

  • Koppeling

    Directe link naar deze opmerking

    https://www.mathworks.com/matlabcentral/answers/2129191-the-follow-code-was-create-to-calculate-the-time-to-increase-the-temperature-but-when-i-run- het-de#comment_3188286

Bedankt Animesh.Eigenlijk kan de temperatuur over het P3 -oppervlak niet> = t (nx) zijn, omdat deze moet worden verhoogd door de warmtevoedingbron.Dus ik moet de code herschrijven om deze vergelijking te voorkomen.

Log in om commentaar te geven.

Surya Venu op 17 juni 2024 om 5:14

  • Koppeling

    Directe link naar dit antwoord

    https://www.mathworks.com/matlabcentral/answers/2129191-the-follow-code-was-create-to-calculate-the-time-to-increase-the-temperature-but-when-i-run- het-de#antwoord_1472546

  • Koppeling

    Directe link naar dit antwoord

    https://www.mathworks.com/matlabcentral/answers/2129191-the-follow-code-was-create-to-calculate-the-time-to-increase-the-temperature-but-when-i-run- het-de#antwoord_1472546

Open in Matlab online

Hoi,

Om de oneindige tijd aan te pakken, resulteert u in de berekening van uw temperatuurstijging, overweeg deze punten voor correctie:

  1. Warmte -invoerberekening: De formule voor"heat_input_per_point "Het is mogelijk niet correct de warmtevermogen over de ruimtelijke punten verdeeld.Vereenvoudig deze berekening.
  2. Grensvoorwaarden: De manier waarop warmte -input wordt toegevoegd in de grensconditie, kan het fysieke proces mogelijk niet nauwkeurig modelleren.Bekijk en pas dit aan om ervoor te zorgen dat het weerspiegelt hoe warmte daadwerkelijk op het systeem wordt toegepast.

Hier zijn de dingen die u kunt proberen:

  • Herzie warmte -invoer: Verdeel direct de warmtekracht over de ruimtelijke punten zonder de complexe verdeling.Zorg ervoor dat het correct wordt toegevoegd aan de grens of door het hele volume zoals bedoeld.
  • Pas de grenstoestand aan: Zorg ervoor dat de grensconditie de warmte -toevoeging nauwkeurig modelleert.Dit kan betekenen dat de temperatuur direct wordt verhoogd op basis van de warmteingang of de warmteflux correct modelleren.

Hier is een vereenvoudigde aanpak voor de berekening van de warmte -invoer:

% Vereenvoudigde warmte -invoerberekening

hitte_input_per_point = heat_power / (rho_concrete * cp_concrete * volume_p1_p3);

En voeg voor de grensconditie de warmte -ingang rechtstreeks toe:

T_new (1) = t (1) + (alpha_concrete * dt / dx^2 * (t (2) - t (1))) + heat_input_per_point;

Zorg ervoor dat deze wijzigingen de feitelijke fysieke instelling weerspiegelen en het model opnieuw evalueren.

Hoop dat het helpt.

1 reactie

Show -1 oudere commentshide -1 oudere opmerkingen

Altibano Ortenzi op 17 juni 2024 om 13:32

Directe link naar deze opmerking

https://www.mathworks.com/matlabcentral/answers/2129191-the-follow-code-was-create-to-calculate-the-time-to-increase-the-temperature-but-when-i-run- het-de#comment_3188311

  • Koppeling

    Directe link naar deze opmerking

    https://www.mathworks.com/matlabcentral/answers/2129191-the-follow-code-was-create-to-calculate-the-time-to-increase-the-temperature-but-when-i-run- het-de#comment_3188311

Bedankt@surya venu!Ik zal proberen de code te wijzigen met de regels die u moet wijzigen om de calculi te wijzigen, maar nu zie ik dat het punt dat wordt beschreven door@Animeshkan ook een van de codeproblemen zijn.Hoe dan ook, ik zal je beide suggesties proberen.

Log in om commentaar te geven.

Log in om deze vraag te beantwoorden.

Zie ook

Tags

  • Probleem oplossen
  • onbekende fout
  • Breek koppeling

Producten

  • Matlab

Uitgave

OUAR 021 A

Community Treasure Hunt

Vind de schatten in Matlab Central en ontdek hoe de gemeenschap u kan helpen!

Begin met jagen!

Er is een fout opgetreden

Kan de actie niet voltooien vanwege wijzigingen in de pagina.Laad de pagina opnieuw om de bijgewerkte status te zien.


De volgcode was gemaakt om de tijd te berekenen om de TE te vergroten ... (8)

Selecteer een website

Kies een website om vertaalde inhoud te krijgen waar beschikbaar en zie lokale evenementen en aanbiedingen.Op basis van uw locatie raden we u aan te selecteren:.

U kunt ook een website selecteren in de volgende lijst

Amerika

  • Latijns Amerika(Español)
  • Canada(Engels)
  • Verenigde Staten(Engels)

Europa

  • België(Engels)
  • Denemarken(Engels)
  • Deutschland(Deutsch)
  • Ruimte(Español)
  • Finland(Engels)
  • Frankrijk(Frans)
  • Ierland(Engels)
  • Italië(Italiaans)
  • Luxemburg(Engels)
  • Nederland(Engels)
  • Noorwegen(Engels)
  • Oostenrijk(Deutsch)
  • Portugal(Engels)
  • Zweden(Engels)
  • Zwitserland
    • Deutsch
    • Engels
    • Frans
  • Verenigd Koninkrijk(Engels)

Aziatisch-Pacifisch

Neem contact op met uw plaatselijke kantoor

De volgcode was gemaakt om de tijd te berekenen om de TE te vergroten ... (2024)
Top Articles
Latest Posts
Recommended Articles
Article information

Author: Merrill Bechtelar CPA

Last Updated:

Views: 5818

Rating: 5 / 5 (50 voted)

Reviews: 81% of readers found this page helpful

Author information

Name: Merrill Bechtelar CPA

Birthday: 1996-05-19

Address: Apt. 114 873 White Lodge, Libbyfurt, CA 93006

Phone: +5983010455207

Job: Legacy Representative

Hobby: Blacksmithing, Urban exploration, Sudoku, Slacklining, Creative writing, Community, Letterboxing

Introduction: My name is Merrill Bechtelar CPA, I am a clean, agreeable, glorious, magnificent, witty, enchanting, comfortable person who loves writing and wants to share my knowledge and understanding with you.