MATLAB: A simple code gives me an error, anyone help in this issue

van der waals equation

My function file is, function [ y ] = van( v ) y = (p + a./v.^2).*(v – b) – (r *t); end My script file is, >> r = 0.082; >> a = 3.6; >> b = 0.4; >> p = 1; >> t = 300; >> v = linspace(0,50); >> y = van(v) Undefined function or variable 'p'.
Error in van (line 4) y = (p+a./v.^2).*(v – b) – (r *t);

Best Answer

p is not known to your function. You have to define the function with all arguments you need inside:
function y = van(v, a, b, r, t)
And then call it with
y = van(v, a, b, r, t)