Bode diagram without bode() function

Is there any way to make a bode plot without using the MATLAB/GNU Octave function bode()?

As an example, here is a function I am working on:

$$H(s) = \frac{1}{2s^2+3s+4}$$

Sounds like you want to omit the use of a MATLAB toolkit/Octave package. Of course you can build the bode diagram from scratch:

% transfert function as anonymous function
h = @(s)(1)./(2*s.^2+3*s+4);
% frequency vector
w = 2*pi*logspace(-2,2,1000);
% magnitude & phase estimation
mag = abs(h(1j*w));
magDB = 20*log10(mag);

% plotting
clf;
subplot(211);
semilogx(w/2/pi,magDB);
xlabel('frequency [Hz]');
ylabel('magniude [dB]');
title('Bode diagram');
grid on;
subplot(212);
semilogx(w/2/pi,phaseDeg);
xlabel('frequency [Hz]');
ylabel('phase angle [°]');
title('Phase diagram');
grid on;


The equivalent code using bode() would be:

try
pkg load control % required by octave
end

s = tf('s');
h = 1/(2*s^2+3*s+4);
bode(h);