Computational Physics Programming using fortran g95

Click For Summary

Discussion Overview

The discussion revolves around a homework assignment involving the creation of a Fortran program to compute the sine function and its integral from 0 to π using the trapezoid and Simpson methods. Participants are addressing coding issues, specifically related to syntax and program structure in Fortran 90.

Discussion Character

  • Homework-related
  • Technical explanation
  • Debate/contested

Main Points Raised

  • The initial problem involves computing the sine function and its integral using specified numerical methods and intervals.
  • One participant encounters a "Unclassifiable statement" error and seeks help with their code, suspecting an issue with their equation.
  • Another participant suggests dropping the '*' in print statements and using single quotes for format strings.
  • A further suggestion includes correcting the format descriptor for the print statement to avoid errors.
  • A participant clarifies the distinction between an assignment statement and an equation in programming, emphasizing the need for a multiplication operator.
  • There is a request for guidance on how to handle the variable N in the program.
  • A later reply outlines the steps needed to compute the integral for various subintervals, indicating the complexity of the task ahead.

Areas of Agreement / Disagreement

Participants generally agree on the need for specific syntax corrections in the Fortran code, but there is no consensus on the overall approach to completing the program, particularly regarding the handling of variable N and the implementation of the numerical methods.

Contextual Notes

Participants express uncertainty about the correct syntax and structure in Fortran, indicating potential limitations in their understanding of programming concepts and numerical methods.

Who May Find This Useful

Students learning Fortran programming, particularly in the context of numerical methods and integration, may find this discussion beneficial.

jhosamelly
Messages
125
Reaction score
0

Homework Statement



Create a program that computes for the value of sine function. Then compute for its
integral from 0 to pi with N intervals, where N=4,8,16,256 and 1024 and compare the
result for the trapezoid and simpson method.


Homework Equations



Trapezoid rule of Integration is (b-a)((f(a)+(f(b))/2)

The Attempt at a Solution


here is the code I made

2lm29mq.jpg


but I'm getting "Unclassifiable statement" at the i1 equation.
Is there something wrong with my code? We are using fortran 90

I'm trying the trapezoid rule 1st.
 
Physics news on Phys.org
Drop the '*' in your print statements for the unit specifier
The format part of the print statement should be enclosed in single quotes ['] instead of double quotes ["].

Thus, the first output should be:
print 'SIN(0) = ', sina
 
OOPS: forgot format descriptor. First output should be:

print '("SIN(0) = ", F6.2)', sina
 
its still not working.. and this is how our prof taught us. we use
print *, "ddd" , ddddd

something wrong with my equation I think.
 
Your i1 "equation" is not an equation - it's an assignment statement. An equation expresses the equality of two expressions. That's not what = is used for in programming. Instead, = is used to assign the value of the expression on the right side to the variable on the left side.

Your compile error "unclassifiable statement" comes from not having a multiplication operator. This assignment statement should be
Code:
i1 = (b - a) [B]*[/B][/color]((sina + sinb)/2)

You could also write this as
Code:
i1 = (b - a) * (sin(angrada) + sin(angradb))/2

In mathematics you can write a product of two numbers by putting them next to each other, with ##2b## meaning 2 times b.

There's no such shortcut in programming, though. If you need to perform a multiplication, you MUST use *.
 
Thank you so much :))))
 
Hmmmm.. I can't seem to finish this program I'm doing. :( What should I do with N?
 
You are a very long way from being done with this program, I'm afraid.

jhosamelly said:
Create a program that computes for the value of sine function. Then compute for its integral from 0 to pi with N intervals, where N=4,8,16,256 and 1024 and compare the result for the trapezoid and simpson method.

The program will need to compute the value of sine(x) at a number of points in the interval [0, ##\pi##]. One part will need to split this interval into four subintervals, and calculate the integral using the trapezoid method and Simpon's method. The next part will need to do the same thing using eight subintervals.

A third part will need to do the same thing, using 16 subintervals. A fourth part will need to do the same thing using 256 subintervals. Finally, the last part will need to do the same thing using 1024 subintervals.
 

Similar threads

  • · Replies 2 ·
Replies
2
Views
1K
  • · Replies 8 ·
Replies
8
Views
3K
  • · Replies 7 ·
Replies
7
Views
3K
  • · Replies 10 ·
Replies
10
Views
2K
  • · Replies 6 ·
Replies
6
Views
5K
  • · Replies 8 ·
Replies
8
Views
3K
  • · Replies 3 ·
Replies
3
Views
7K
  • · Replies 20 ·
Replies
20
Views
3K
  • · Replies 4 ·
Replies
4
Views
3K
  • · Replies 5 ·
Replies
5
Views
2K