Set animation for movement help??

Hello, I am kinda new to coding movement itself and am still learning. I have done some movement for my player, but cannot really see how to set the animation for the running. I have an animation already set and a Parameter for “Speed” already set, for when it is greater than 0.01 then it will activate the animation, but on the script I am getting an error with the “movement” variable than I have. Basically just need to know how to set the animation for movement.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class PlayerMovement : MonoBehaviour
{
public float Speed = 3f;
public bool isGrounded = false;
public Animator animator;

// Start is called before the first frame update
void Start()
{
    
}

// Update is called once per frame
void Update()
{
    Jump();
    Vector3 movement = new Vector3(Input.GetAxis("Horizontal"), 0f, 0f);
    transform.position += movement * Time.deltaTime * Speed;
    animator.SetFloat("Speed", Mathf.Abs(movement));        
}
void Jump()
{
    if (Input.GetButtonDown("Jump") && isGrounded == true)
    {
        gameObject.GetComponent<Rigidbody2D>().AddForce(new Vector2(0f, 5f), ForceMode2D.Impulse);
    }
}

}

I had the same problems so i used this code
Vector3 movement;

public Animator animator;
public float speed = 20f;
public float mov;

void Update()
{
    mov = Input.GetAxisRaw("Horizontal") * speed;
     movement = new Vector3(Input.GetAxis("Horizontal"), 0f, 0f);
     transform.position += movement * Time.deltaTime * speed;
     animator.SetFloat("Speed", Mathf.Abs(mov));
    if (d == true)

this should fix it, what it does is take the inputs and put them into the animator, it moves the object and makes it into a float at the same time.,I had the same problem, so I instead used this code to figure it out

public Animator animator;
public float speed = 20f;
public float mov;

void Update()
{
    mov = Input.GetAxisRaw("Horizontal") * speed;
     movement = new Vector3(Input.GetAxis("Horizontal"), 0f, 0f);
     transform.position += movement * Time.deltaTime * speed;
     animator.SetFloat("Speed", Mathf.Abs(mov));

so this basically just adds the float part and does the same thing but without moving your object, so the animation can run